Javascript中函数声明与函数表达式的区别分析
在Javascript中声明函数有两种方式:函数声明和函数表达式。区别如下:
1)。函数声明方法定义的函数名是必需的,函数表达式的函数名是可选的。
2)。函数声明方法定义的函数,函数可以在函数声明之前调用,函数表达式的函数只能在声明之后调用。
3)。函数声明方法定义的函数不是真实的声明,它们只能出现在整个世界或嵌套在其他函数中,但它们不能出现在循环、条件或尝试中。
函数表达式可以在任何地方声明。
下面两种方法用于定义函数:
复制代码代码如下所示:
声明功能
函数问候语(){
console.log(Hello World);
}
函数
var问候=函数(){()
console.log(Hello World);
}
下面是一个有趣的javascript:
复制代码代码如下所示:
函数f(){ console.log(我外面!);}
(函数(){())
如果(false){
重复语句函数f
函数f(){ console.log(我在里面!);}
}
(f);
}();
它出口什么第一个回答应该是我在外面。作为一个结果,它输出的我在的浏览器,IE11直接报告错误,和Firefox有一个较低的版本输出我。
Chrome输出的结果清楚地反映了函数声音形式所声明的函数的特性——函数可以在声明之前调用。
IE错误显示了对象的缺乏,因为函数声明处于状态,违反了函数的原理。
函数表达式的范围:
如果函数函数声明函数名,函数名等价于一个局部变量的函数,只在内部调用函数中,例如:
复制代码代码如下所示:
函数事实(x){
如果(x 1)
返回1;
其他的
返回x *事实(X-1);
};
警报((事实); / /捕获)referenceerror:事实是没有定义的
事实()可以在函数中调用,对函数的外部调用将被报告错误:事实没有定义。
以上是本文的全部内容,希望大家能喜欢。