Javascript中arguments對(duì)象詳解
在上篇文章中我們討論了javascript中的默認(rèn)參數(shù),這篇文章,我們來(lái)討論下javascript的arguments參數(shù)對(duì)象。
如下例的一個(gè)函數(shù),我們?nèi)绾胃鶕?jù)傳入?yún)?shù)的不同來(lái)做不同的處理呢?
function addAll () {
// What do we do here?
}
// Should return 6
addAll(1, 2, 3);
// Should return 10
addAll(1, 2, 3, 4);
幸運(yùn)的是,javascript有一個(gè)arguments對(duì)象,可以來(lái)處理上述情況。arguments對(duì)象是一個(gè)類數(shù)組對(duì)象,想了解arguments對(duì)象的詳細(xì)情況請(qǐng)戳這里,我們使用arguments對(duì)象來(lái)改變上例:
function addAll () {
var sum = 0;
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);
上面我們說(shuō)過(guò)arguments對(duì)象是一個(gè)類數(shù)組對(duì)象,下面我們來(lái)測(cè)試下:
function getName() {
console.log(Array.isArray(arguments));
}
//will output false
getName("benjamin");
上述測(cè)試結(jié)果可以看出:
它不是一個(gè)數(shù)組對(duì)象,那么它和數(shù)組對(duì)象有什么不同呢?詳情請(qǐng)戳這里。
執(zhí)行下面例子會(huì)拋出一個(gè)錯(cuò)誤:
function sortArgs () {
// Uncaught TypeError: undefined is not a function
sorted = arguments.sort()
return sorted;
}
sortArgs();
我們可以像下面這樣把一個(gè)類數(shù)組對(duì)象轉(zhuǎn)換為數(shù)組對(duì)象:
function sortArgs () {
// Convert arguments object into a real array
var args = [].slice.call(arguments);
// Now this will work!
sorted = args.sort()
return sorted;
}
//will output [1, 2, 3]
console.log(sortArgs(1,3,2));
如果你感覺(jué)這篇文章對(duì)你有幫助,希望轉(zhuǎn)給更多需要的人。文章不妥之處,歡迎留言斧正。
- javascript內(nèi)置對(duì)象arguments詳解
- js arguments對(duì)象應(yīng)用介紹
- Javascript中arguments對(duì)象的詳解與使用方法
- Javascript中的arguments對(duì)象
- JS中使用變量保存arguments對(duì)象的方法
- 深入解析JavaScript中的arguments對(duì)象
- 跟我學(xué)習(xí)javascript的arguments對(duì)象
- JavaScript中如何通過(guò)arguments對(duì)象實(shí)現(xiàn)對(duì)象的重載
- Javascript學(xué)習(xí)筆記之函數(shù)篇(四):arguments 對(duì)象
- js中arguments對(duì)象的深入理解
相關(guān)文章
怎樣在JavaScript里寫一個(gè)swing把數(shù)據(jù)插入數(shù)據(jù)庫(kù)
在JavaScript里寫一個(gè)swing來(lái)實(shí)現(xiàn)確定取消,來(lái)決定是否執(zhí)行這個(gè)功能 控制把數(shù)據(jù)插入數(shù)據(jù)庫(kù),接下來(lái)介紹實(shí)現(xiàn)方法2012-12-12Javascript基礎(chǔ):運(yùn)算符與流程控制詳解
這篇文章主要給大家介紹了關(guān)于Javascript中運(yùn)算符及流程控制的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-10-10javascript基礎(chǔ)第一章 JavaScript與用戶端
javascript基礎(chǔ)第一章 JavaScript與用戶端2010-07-07Javascript模塊化編程(一)AMD規(guī)范(規(guī)范使用模塊)
這個(gè)系列的第一部分介紹了Javascript模塊的基本寫法,今天介紹如何規(guī)范地使用模塊,先想一想,為什么模塊很重要?接下來(lái)為您詳細(xì)介紹,感興趣的朋友可以了解下啊2013-01-01ie和firefox中img對(duì)象區(qū)別的困惑
ie和firefox中img對(duì)象區(qū)別的困惑...2006-12-12JavaScript中setUTCFullYear()方法的使用簡(jiǎn)介
這篇文章主要介紹了JavaScript中setUTCFullYear()方法的使用簡(jiǎn)介,是JS入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-06-06