浅谈JS函数定义的区别

有两种方法来定义js的函数。

(1)典型的功能声明


函数幻灯片(参数){
代码…
}


(2)以函数表达式的形式定义一个函数




函数(参数){
代码…
}


虽然上述两种方式在逻辑上是等价的,但仍有一些差异:

差异一:在代码执行之前,案例1中的函数将被加载到作用域中,当代码执行到该行时,情况二将被定义。

差异二:函数声明将一个名称分配给函数,而函数表达式创建一个匿名函数,然后将匿名函数分配给变量。

请看下面的例子:


函数阶乘(数字){
如果(数字< = 1){
返回1;
}
{其他
返回num * arguments.callee(num-1);
}
}
无功anotherfactorial =因子;
阶乘=null;
console.log(anotherfactorial); / /因子(输出){ },函数名



如果它是由函数表达式定义的




var =函数(数字){
代码…
}
代码…
console.log(anotherfactorial); / /功能(输出){ },匿名函数


这就是js函数定义给您带来的区别。我希望你能支持得更多。