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

淺談JavaScript函數(shù)參數(shù)的可修改性問題

 更新時(shí)間:2013年12月05日 10:28:11   作者:  
這篇文章主要是對JavaScript函數(shù)參數(shù)的可修改性進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下,希望對大家有所幫助

一道筆試題思考而來的,通常情況下沒人會(huì)在函數(shù)內(nèi)部修改參數(shù)值。這里僅拿出來討論,有三種方式可以修改。

1,直接修改函數(shù)聲明時(shí)的形參

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

function f1(a) {
    alert(a);
    a = 1;//修改形參a
    alert(1 === a);
    alert(1 === arguments[0]);
}
f1(10);

函數(shù)f1定義了參數(shù)a,調(diào)用時(shí)傳參數(shù)10,先彈出10,修改a為1,彈出兩次true,a和arguments[0]都為1了。

2,通過函數(shù)內(nèi)部的arguments對象修改

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

function f2(a) {
    alert(a);
    arguments[0] = 1;//修改arguments
    alert(1 === a);
    alert(1 === arguments[0]);

}

效果同函數(shù)f1。

3,函數(shù)內(nèi)部聲明的局部變量與形參同名

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

function f3(a) {
    alert(a);
    var a = 1;//聲明局部變量a且賦值為1
    alert(1 === a);
    alert(arguments[0]);
}
f3(10);

函數(shù)f3定義了形參a,函數(shù)內(nèi)部聲明局部變量a同時(shí)賦值為1,但這里的a仍然是參數(shù)a,從最后彈出的arguments[0]被修改為1可以證明。

4,如果只是聲明局部變量a,卻不賦值,情況又不一樣了

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

function f3(a) {
    var a;//僅聲明,不賦值
    alert(a);
    alert(arguments[0]);
}
f3(10);

這時(shí)候彈出的都是10,而不是undefined。

相關(guān)文章

最新評論

德安县| 渑池县| 库伦旗| 元谋县| 湾仔区| 布尔津县| 清徐县| 辽宁省| 淮南市| 翼城县| 景东| 萨迦县| 固始县| 阿拉善右旗| 边坝县| 临颍县| 麻江县| 高淳县| 正宁县| 广宁县| 广灵县| 咸阳市| 舞钢市| 阿合奇县| 黄龙县| 科技| 阳山县| 玉屏| 漯河市| 武陟县| 永胜县| 晋城| 崇礼县| 丰城市| 普安县| 弥渡县| 屯昌县| 萨嘎县| 内黄县| 双城市| 兰州市|