函數(shù)
1. 定義
- 普通函數(shù)
function fun (arg1, arg2, arg3...) {
statements
}
fun(); // 調(diào)用
- 函數(shù)表達(dá)式
var fun = function (arg1, arg2, arg3....) {
statements;
}
fun(); // 調(diào)用
- Function關(guān)鍵字
var fun = new Function('arg1', 'arg2', 'statements');
fun(); // 調(diào)用
- 箭頭函數(shù)(ES6)
var fun = (arg1, arg2, arg3) => {
statements;
}
fun(); // 調(diào)用
2. 函數(shù)特性
-
模擬函數(shù)重載
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);
-
值永遠(yuǎn)與對(duì)應(yīng)命名參數(shù)的值保持同步
function doAdd (num1, num2) { arguments[1] = 10; alert(arguments[0] + num2); } 1. 此處修改了arguments[1]的值,那么num2的值也被修改為10 2. 但是arguments[1]和num2也是兩塊相同的內(nèi)存空間(相互獨(dú)立,值會(huì)同步) 3. 但是如果傳遞了一個(gè)值鹏秋,arguments[1]就沒(méi)有作用了
未完待續(xù)(this關(guān)鍵字改變氢伟,閉包)领炫。让蕾。铡俐。