函数 两种定义函数的方式

函数声明

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