我正在阅读本教程:http://nathansjslessons.appspot.com/
里面有一个类说:
// A simple function that adds one
var plusOne = function (x) {
return x + 1;
};
我习惯于看到这样的功能:
function myFunction() {
return x + 1;
};
第一个和第二个之间有什么区别?
最佳答案
阅读@ post编写的CMS。他出色地解释了 FunctionDeclaration
和 FunctionExpression
之间的区别。引用他写的东西:
简而言之,根据上下文,以下代码可以是 FunctionDeclaration
或 FunctionExpression
:
function foo() {}
上面是一个
FunctionDeclaration
。0, function foo() {}
上面是一个
FunctionExpression
。 @CMS在他前面提到的答案中更详细地说明了两者之间的区别。关于您的问题:
// A simple function that adds one
var plusOne = function (x) { // a function expression is assigned to a variable
return x + 1;
};
function myFunction() { // a simple function declaration
return x + 1;
};