麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

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

2019-11-20 21:31:12
字體:
供稿:網(wǎng)友

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

1,直接修改函數(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ù)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同時賦值為1,但這里的a仍然是參數(shù)a,從最后彈出的arguments[0]被修改為1可以證明。

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

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

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

這時候彈出的都是10,而不是undefined。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 亚洲小视频网站 | 欧美 亚洲 视频 | 污污的视频在线观看 | 狠狠操天天射 | 精品国产乱码久久久久久丨区2区 | 成人毛片在线 | 亚洲第一成网站 | 成人午夜免费看 | 双性帝王调教跪撅打屁股 | 多男操一女视频 | 中文字幕偷拍 | 久久不雅视频 | 男女一边摸一边做羞羞视频免费 | 黄色片在线免费播放 | 国产精品九九久久一区hh | 欧美精品久久天天躁 | 久久蜜桃香蕉精品一区二区三区 | 久久精品欧美电影 | 黄污在线看 | h色网站免费观看 | 国产精品久久久久久久久久久久久久久久 | 日韩黄色一区 | 欧美成人精品一区二区三区 | bt 自拍 另类 综合 欧美 | 高清一区二区在线观看 | 黄色试看视频 | 毛片在线不卡 | 久久综合九色综合久久久精品综合 | 午夜精品福利影院 | 免费看黄色一级片 | 日本a级一区 | 国产精品久久久久久影院8一贰佰 | 精品亚洲免费 | 99精品视频在线导航 | wwwxxx免费视频| 欧美一级毛片美99毛片 | 免费毛片视频 | 激情久久精品 | 免费观看黄色片视频 | 免费久久久久 | 亚洲免费毛片基地 |