亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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,通過(guò)函數(shù)內(nèi)部的arguments對(duì)象修改

復(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)文章

  • 理解JavaScript中的適配器模式Adapter?Pattern

    理解JavaScript中的適配器模式Adapter?Pattern

    這篇文章主要介紹了理解JavaScript中的適配器模式,適配器模式即Adapter?Pattern,是作為兩個(gè)不兼容的接口之間的橋梁。這種類(lèi)型的設(shè)計(jì)模式屬于結(jié)構(gòu)型模式,下文更多相關(guān)介紹需要的小伙伴可以參考一下
    2022-04-04
  • ECMAScript6中Map映射的基本概念與常用方法

    ECMAScript6中Map映射的基本概念與常用方法

    Map是ES6中新增的數(shù)據(jù)結(jié)構(gòu),Map類(lèi)似于對(duì)象,但普通對(duì)象的 key 必須是字符串或者數(shù)字,而 Map 的 key 可以是任何數(shù)據(jù)類(lèi)型,這篇文章主要給大家介紹了關(guān)于ECMAScript6中Map映射的基本概念與常用方法,需要的朋友可以參考下
    2021-07-07
  • VsCode插件整理(小結(jié))

    VsCode插件整理(小結(jié))

    這篇文章主要介紹了VsCode插件整理(小結(jié)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • input標(biāo)簽內(nèi)容改變的觸發(fā)事件介紹

    input標(biāo)簽內(nèi)容改變的觸發(fā)事件介紹

    onchange事件在內(nèi)容改變(兩次內(nèi)容有可能相等)且失去焦點(diǎn)時(shí)觸發(fā);onpropertychange事件是實(shí)時(shí)觸發(fā),每增加或刪除一個(gè)字符就會(huì)觸發(fā)
    2014-06-06
  • JavaScript反射與依賴注入實(shí)例詳解

    JavaScript反射與依賴注入實(shí)例詳解

    這篇文章主要介紹了JavaScript反射與依賴注入,結(jié)合實(shí)例形式較為詳細(xì)的分析了JavaScript反射與依賴注入的概念、原理、定義、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2018-05-05
  • uni.getLocation和wx.getLocation方法調(diào)用無(wú)效也不返回失敗的解決方案

    uni.getLocation和wx.getLocation方法調(diào)用無(wú)效也不返回失敗的解決方案

    這篇文章主要給大家介紹了關(guān)于uni.getLocation和wx.getLocation方法調(diào)用無(wú)效也不返回失敗的解決方案,文中通過(guò)實(shí)例代碼以及圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-04-04
  • JavaScript常用對(duì)象的方法和屬性小結(jié)

    JavaScript常用對(duì)象的方法和屬性小結(jié)

    JavaScript是基于對(duì)象的語(yǔ)言。我們知道,對(duì)象是由一組數(shù)據(jù)(JavaScript中稱(chēng)之為屬性)和施加在這組數(shù)據(jù)上的方法組成的。JavaScript中還有一些不屬于任何對(duì)象的系統(tǒng)函數(shù)
    2012-01-01
  • Webpack4+Babel7+ES6兼容IE8的實(shí)現(xiàn)

    Webpack4+Babel7+ES6兼容IE8的實(shí)現(xiàn)

    這篇文章主要介紹了Webpack4+Babel7+ES6兼容IE8的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • js查看一個(gè)函數(shù)的執(zhí)行時(shí)間實(shí)例代碼

    js查看一個(gè)函數(shù)的執(zhí)行時(shí)間實(shí)例代碼

    本篇文章給大家分享一段實(shí)例代碼,主要介紹js查看一個(gè)函數(shù)的執(zhí)行時(shí)間,代碼簡(jiǎn)單易懂,感興趣的朋友一起跟著小編來(lái)學(xué)習(xí)學(xué)習(xí)吧
    2015-09-09
  • 前端js使用xlsx-js-style導(dǎo)出Excel文件并修飾單元格樣式

    前端js使用xlsx-js-style導(dǎo)出Excel文件并修飾單元格樣式

    這篇文章主要給大家介紹了關(guān)于前端js使用xlsx-js-style導(dǎo)出Excel文件并修飾單元格樣式的相關(guān)資料,前端開(kāi)發(fā)過(guò)程中經(jīng)常遇到導(dǎo)出excel的需求,需要的朋友可以參考下
    2023-08-08

最新評(píng)論