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

JavaScript傳遞變量: 值傳遞?引用傳遞?

 更新時(shí)間:2011年02月22日 21:19:38   作者:  
JavaScript傳遞變量 值傳遞 引用傳遞,需要的朋友可以參考下。
當(dāng)變量A賦值給變量B時(shí),會(huì)將棧中的值復(fù)制一份到為新變量分配的空間中。

如何理解?
復(fù)制代碼 代碼如下:

var x = y = 1;
y = 2;
alert(x);

x的值為多少?
復(fù)制代碼 代碼如下:

var obj = {};
var sub = {};
sub['id'] = 3;
obj['sub'] = sub;
sub['id'] = 4;
alert(obj['sub']['id']);

obj['sub']['id']的值又為多少?他們真的符合你的預(yù)期嗎?

我們分別運(yùn)行2段代碼,發(fā)現(xiàn)第1段程序中x的值沒(méi)有改變,而第2段程序中的obj['sub']['id']的值卻改變了。同樣是一個(gè)賦值操作,同樣是修改另外一份拷貝的值,為什么一段程序源變量沒(méi)變,一段程序源變量變化了呢?這個(gè)傳遞到底是按值傳遞還是按引用傳遞的呢?

李松峰翻譯的《JavaScript 高級(jí)程序設(shè)計(jì) 第二版》中給出了答案。
在開始的這2個(gè)例子中,事實(shí)上都復(fù)制了A的值給B,不同的是,在第一個(gè)例子中,A的值是int型的1,而在第二個(gè)例子中,A的值是一個(gè)地址指針,這個(gè)地址指針可以訪問(wèn)到一個(gè)對(duì)象,復(fù)制之后,第1個(gè)例子中的B的值變成了新的int, 他的值為1,而第2個(gè)例子中B的值變成了新的地址指針,他的值為這個(gè)對(duì)象的地址。

下面的例子可以幫助理解
復(fù)制代碼 代碼如下:

function setName(obj){
obj.name = "test1";
obj = {};
obj.name = "test2";
}
var person = new Object();
setName(person);
alert(person.name);

可以看到的是,盡管調(diào)用了setName函數(shù)修改了變量的name屬性,但是person.name的值并沒(méi)有改變。這是因?yàn)樵诤瘮?shù)中,obj指向的地址被改變了,因此修改這個(gè)地址的name屬性,并不會(huì)對(duì)原地址的name屬性造成影響。從另一個(gè)方面,也印證了JavaScript的傳遞是按值傳遞。

相關(guān)文章

  • antd?table長(zhǎng)表格出現(xiàn)滾動(dòng)條的操作方法

    antd?table長(zhǎng)表格出現(xiàn)滾動(dòng)條的操作方法

    這篇文章主要介紹了antd?table長(zhǎng)表格如何出現(xiàn)滾動(dòng)條,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • js截取video視頻某一幀做封面的簡(jiǎn)單案例(附完整代碼)

    js截取video視頻某一幀做封面的簡(jiǎn)單案例(附完整代碼)

    最近碰到一個(gè)需求,要求獲取video視頻某一幀做封面圖片,這里給大家總結(jié)下,這篇文章主要給大家介紹了關(guān)于js截取video視頻某一幀做封面的簡(jiǎn)單案例,需要的朋友可以參考下
    2024-04-04
  • js仿微信搶紅包功能

    js仿微信搶紅包功能

    這篇文章主要為大家詳細(xì)介紹了js仿微信搶紅包功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • javascript實(shí)現(xiàn)支持移動(dòng)設(shè)備畫廊

    javascript實(shí)現(xiàn)支持移動(dòng)設(shè)備畫廊

    本文通過(guò)純javascript技術(shù)實(shí)現(xiàn)支持移動(dòng)設(shè)備畫廊,支持移動(dòng)設(shè)備手勢(shì)操作,感興趣的朋友一起來(lái)學(xué)習(xí)吧
    2015-08-08
  • JavaScript中的函數(shù)式編程詳解

    JavaScript中的函數(shù)式編程詳解

    這篇文章主要介紹了JavaScript中的函數(shù)式編程詳解,需要的朋友可以參考下
    2020-08-08
  • js?html5獲取input焦點(diǎn)的輸入框并賦值實(shí)例

    js?html5獲取input焦點(diǎn)的輸入框并賦值實(shí)例

    這篇文章主要為大家介紹了js?html5獲取input焦點(diǎn)的輸入框并賦值實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • 將Datatable轉(zhuǎn)化成json發(fā)送前臺(tái)實(shí)現(xiàn)思路

    將Datatable轉(zhuǎn)化成json發(fā)送前臺(tái)實(shí)現(xiàn)思路

    將Datatable轉(zhuǎn)化成json可以將dt序列化成json,放到前臺(tái)的隱藏控件hidBoundary中,具體的實(shí)現(xiàn)如下,有類似需求的朋有可以參考下
    2013-09-09
  • js 中 document.createEvent的用法

    js 中 document.createEvent的用法

    用該方法創(chuàng)建了 Event 對(duì)象以后,必須用上表中所示的初始化方法初始化對(duì)象。關(guān)于初始化方法的詳細(xì)信息,請(qǐng)參閱 Event 對(duì)象參考。
    2010-08-08
  • antd/fusion表格增加圈選復(fù)制功能思路詳解

    antd/fusion表格增加圈選復(fù)制功能思路詳解

    我們存在著大量在PC頁(yè)面通過(guò)表格看數(shù)據(jù)業(yè)務(wù)場(chǎng)景,表格又分為兩種,一種是antd?/?fusion這種基于dom元素的表格,另一種是通過(guò)?canvas?繪制的類似?excel?的表格,這篇文章主要介紹了antd/fusion表格增加圈選復(fù)制功能,需要的朋友可以參考下
    2023-09-09
  • js 輪播效果實(shí)例分享

    js 輪播效果實(shí)例分享

    本文主要分享了基于js實(shí)現(xiàn)的輪播效果的實(shí)例代碼,具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2016-12-12

最新評(píng)論

库车县| 九台市| 威海市| 白玉县| 科技| 林芝县| 佛学| 广宁县| 苗栗县| 仪征市| 绥中县| 古田县| 闸北区| 大渡口区| 庆阳市| 丰镇市| 泸定县| 富阳市| 筠连县| 上高县| 兴仁县| 乾安县| 崇州市| 和硕县| 柞水县| 辽阳市| 红安县| 石楼县| 淮北市| 卢龙县| 长春市| 和平区| 会昌县| 固原市| 石家庄市| 瓮安县| 绍兴县| 邹平县| 城固县| 天祝| 伊金霍洛旗|