国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

淺談JavaScript函數參數的可修改性問題

2024-05-06 15:57:00
字體:
來源:轉載
供稿:網友
這篇文章主要是對JavaScript函數參數的可修改性進行了詳細的介紹,需要的朋友可以過來參考下,希望對大家有所幫助

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

1,直接修改函數聲明時的形參

復制代碼 代碼如下:


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


函數f1定義了參數a,調用時傳參數10,先彈出10,修改a為1,彈出兩次true,a和arguments[0]都為1了。

2,通過函數內部的arguments對象修改

復制代碼 代碼如下:


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

}


效果同函數f1。

3,函數內部聲明的局部變量與形參同名

復制代碼 代碼如下:


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


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

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

復制代碼 代碼如下:


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


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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 留坝县| 福清市| 哈密市| 文化| 新兴县| 郧西县| 桂阳县| 益阳市| 南阳市| 新蔡县| 泾阳县| 军事| 申扎县| 大田县| 栾城县| 安康市| 铜鼓县| 富锦市| 镇平县| 大城县| 屏边| 宁远县| 石景山区| 东明县| 成安县| 庄浪县| 博客| 曲周县| 梧州市| 丰镇市| 奇台县| 广昌县| 凤凰县| 兴城市| 芜湖县| 印江| 铜山县| 桂东县| 新化县| 马山县| 沙坪坝区|