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:事实是没有定义的



事实()可以在函数中调用,对函数的外部调用将被报告错误:事实没有定义。



以上是本文的全部内容,希望大家能喜欢。