最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Javascript中arguments對象詳解

 更新時間:2014年10月22日 10:28:38   投稿:hebedich  
JavaScript不能像PHP一樣在函數(shù)參數(shù)中直接設(shè)置默認(rèn)值,但是JavaScript有一個arguments可以使用,這就可以為函數(shù)參數(shù)設(shè)置默認(rèn)值了

在上篇文章中我們討論了javascript中的默認(rèn)參數(shù),這篇文章,我們來討論下javascript的arguments參數(shù)對象。

如下例的一個函數(shù),我們?nèi)绾胃鶕?jù)傳入?yún)?shù)的不同來做不同的處理呢?

復(fù)制代碼 代碼如下:

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有一個arguments對象,可以來處理上述情況。arguments對象是一個類數(shù)組對象,想了解arguments對象的詳細(xì)情況請戳這里,我們使用arguments對象來改變上例:

復(fù)制代碼 代碼如下:

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);

上面我們說過arguments對象是一個類數(shù)組對象,下面我們來測試下:

復(fù)制代碼 代碼如下:

function getName() {
 console.log(Array.isArray(arguments));
}

//will output false
getName("benjamin");

上述測試結(jié)果可以看出:
它不是一個數(shù)組對象,那么它和數(shù)組對象有什么不同呢?詳情請戳這里。

執(zhí)行下面例子會拋出一個錯誤:

復(fù)制代碼 代碼如下:

function sortArgs () {
    // Uncaught TypeError: undefined is not a function
    sorted = arguments.sort()

    return sorted;
}
sortArgs();

我們可以像下面這樣把一個類數(shù)組對象轉(zhuǎn)換為數(shù)組對象:

復(fù)制代碼 代碼如下:

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));

如果你感覺這篇文章對你有幫助,希望轉(zhuǎn)給更多需要的人。文章不妥之處,歡迎留言斧正。

相關(guān)文章

最新評論

开鲁县| 自治县| 康乐县| 金塔县| 宁远县| 拜城县| 平昌县| 临洮县| 花莲市| 潼关县| 洛隆县| 海口市| 乐平市| 河间市| 托里县| 兴化市| 康保县| 蓬溪县| 英德市| 焉耆| 永泰县| 贞丰县| 大安市| 宝鸡市| 故城县| 修武县| 中方县| 大悟县| 嘉黎县| 大埔区| 宜丰县| 肇东市| 武夷山市| 花垣县| 册亨县| 安义县| 阿城市| 合肥市| 宁河县| 类乌齐县| 涿州市|