在上篇文章中我們討論了javascript中的默認(rèn)參數(shù),這篇文章,我們來討論下javascript的arguments參數(shù)對(duì)象。
如下例的一個(gè)函數(shù),我們?nèi)绾胃鶕?jù)傳入?yún)?shù)的不同來做不同的處理呢?
// Should return 6
addAll(1, 2, 3);
// Should return 10
addAll(1, 2, 3, 4);
幸運(yùn)的是,javascript有一個(gè)arguments對(duì)象,可以來處理上述情況。arguments對(duì)象是一個(gè)類數(shù)組對(duì)象,想了解arguments對(duì)象的詳細(xì)情況請(qǐng)戳這里,我們使用arguments對(duì)象來改變上例:
for (var i = 0; i < arguments.length; i++) {
sum += arguments[i];
}
return sum;
}
// Returns 6
addAll(1, 2, 3);
// Returns 10
addAll(1, 2, 3, 4);
上面我們說過arguments對(duì)象是一個(gè)類數(shù)組對(duì)象,下面我們來測(cè)試下:
//will output false
getName("benjamin");
上述測(cè)試結(jié)果可以看出:
它不是一個(gè)數(shù)組對(duì)象,那么它和數(shù)組對(duì)象有什么不同呢?詳情請(qǐng)戳這里。
執(zhí)行下面例子會(huì)拋出一個(gè)錯(cuò)誤:
return sorted;
}
sortArgs();
我們可以像下面這樣把一個(gè)類數(shù)組對(duì)象轉(zhuǎn)換為數(shù)組對(duì)象:
// Now this will work!
sorted = args.sort()
return sorted;
}
//will output [1, 2, 3]
console.log(sortArgs(1,3,2));
如果你感覺這篇文章對(duì)你有幫助,希望轉(zhuǎn)給更多需要的人。文章不妥之處,歡迎留言斧正。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注