函数
1. 定义
- 普通函数
function fun (arg1, arg2, arg3...) {
statements
}
fun(); // 调用
- 函数表达式
var fun = function (arg1, arg2, arg3....) {
statements;
}
fun(); // 调用
- Function关键字
var fun = new Function('arg1', 'arg2', 'statements');
fun(); // 调用
- 箭头函数(ES6)
var fun = (arg1, arg2, arg3) => {
statements;
}
fun(); // 调用
2. 函数特性
-
模拟函数重载
function doAdd () { if (arguments.length === 1) { alert(arguments[0] + 10); } else if (arguments.length === 2) { alert(arguments[0] + arguments[1]); } } doAdd(10); doAdd(10, 20);
-
值永远与对应命名参数的值保持同步
function doAdd (num1, num2) { arguments[1] = 10; alert(arguments[0] + num2); } 1. 此处修改了arguments[1]的值,那么num2的值也被修改为10 2. 但是arguments[1]和num2也是两块相同的内存空间(相互独立,值会同步) 3. 但是如果传递了一个值,arguments[1]就没有作用了
未完待续(this关键字改变,闭包)。。。
网友评论