函数声明
function foo () {}
函数表达式
var foo = function () {}
(function() {})()
var foo = function bar() {}
return function () {}
函数声明会被提前
var sum = add(1,2); // 3
console.log(sum);
function add(x, y) {
x = +x;
y = +y;
if(isNaN(x) || isNaN(y)) {
return;
}
return x+y;
}
变量会被提前, 而函数表达式不会提前
var sum = add(1,2); //Uncaught TypeError: add is not a function
console.log(sum);
var add = function (x, y) {
x = +x;
y = +y;
if(isNaN(x) || isNaN(y)) {
return;
}
return x+y;
}
来源:https://www.cnblogs.com/luckstart/p/5197400.html