JavaScript函数定义语法var fn = function() {} 和 function fn() {}...
发布网友
发布时间:2022-04-29 15:02
我来回答
共1个回答
热心网友
时间:2022-04-22 12:21
区别在于,functionOne的是一条表达式语句,只有程序执行到这行函数才会被定义。然而functionTwo是函数声明,它会在JavaScript一开始就被定义。
如下两个例子可以看出它们的区别。
函数表达式:
// 是个错误的函数调用,functionOne没有被定义。
functionOne();
//程序执行到这里functionOne才会被定义。
var functionOne = function() {
console.log("Hello!");
};
函数声明:
//functionTow会输出: "Hello!"
functionTwo();
function functionTwo() {
console.log("Hello!");
}
通过对上面例子的理解。我们可以推断出,如下的函数声明是不合理的。
if (test) {
//错误或不好的风格
function functionThree() { doSomething(); }
}
这里在if语句中声明了函数,其实它的声明不会管test的值是多少,都会被定义,这样的风格并不好。如果你在use strict下编写上述代码,那么将会报错。秒秒学上有不少函数相关的例子,你可以去看看。