2.1 函数定义
函数声明
function sum1(a, b) {
return a + b;
}
函数表达式
var sum2 = function (a, b) {
return a + b;
}
构造函数
var sum3 = new Function('a', 'b', 'return a + b');
函数自调用
- 函数表达式后紧跟
()
,相当于定义了函数,直接调用而已,还省下了函数声明成变量;
(function (a, b) {
console.log(a+b);
return a + b;
})(1, 2);
// 先声明
var sum2 = function (a, b) {
return a + b;
}
// 再调用
sum2(1, 2);
var res = (function (a, b) {
return a + b;
})(1, 2);
// 这里的 res 不是上面的函数表达式,而是返回值了。
函数本身是对象
function sum4() {
var len = arguments.length;
var a = arguments[0] || 1;
var b = arguments[1] || 1;
return (a + b) * len;
}