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

首頁 > 開發(fā) > JS > 正文

JS引用傳遞與值傳遞的區(qū)別與用法分析

2024-05-06 16:44:44
字體:
供稿:網(wǎng)友

本文實(shí)例講述了JS引用傳遞與值傳遞的區(qū)別與用法。分享給大家供大家參考,具體如下:

這里詳細(xì)解釋JS值傳遞和引用傳遞以及二者的區(qū)別。

我們先來解釋一下這兩個(gè)的基本概念吧。

函數(shù)調(diào)用中,傳遞是一個(gè)數(shù)值,我們稱為 “值傳遞”。
函數(shù)調(diào)用中,傳遞是對(duì)象,一般稱為 “引用傳遞”。

現(xiàn)在這里總體上說明,這二者的本質(zhì)區(qū)別就在于傳遞的數(shù)據(jù)類型不一樣,值傳遞傳遞的是一個(gè)值,而引用傳遞傳遞的是一個(gè)對(duì)象。

看一下代碼以及代碼中的注釋。

一、引入

function func(a){  a++;}// 因?yàn)楹瘮?shù)都沒有調(diào)用,所以找不到 aconsole.log(a);//結(jié)果明顯是undefined了。//所以看下面兩個(gè)例子。

二、值傳遞

var a = 5;function func(a){  // 函數(shù)中開辟了一個(gè)空間 a == 5  // a==6  a++;}func(5);// 結(jié)果,函數(shù)沒有改變到 外部 a 的值,所以,結(jié)果是 5console.log(a);// 函數(shù)調(diào)用中,傳遞是一個(gè)數(shù)值,我們稱為 “值傳遞”// 特點(diǎn): 有多個(gè)不同的空間,空間都是在棧中的//    所以 修改函數(shù)中的空間,對(duì)外部空間是沒有影響的

三、引用傳遞

var a = 5;function func(){  // 開辟函數(shù) 的空間  // 函數(shù)中沒有 a 的空間  // 所以,系統(tǒng)會(huì)自動(dòng)向外面搜索  // 這里是對(duì)外部的變量進(jìn)行修改  a++;}func(5);// 因?yàn)楹瘮?shù)中修改了外部的變量 a,所以,值發(fā)生改變了,是 6console.log(a);// 函數(shù)調(diào)用中,傳遞是對(duì)象,一般稱為 “引用傳遞”// 特點(diǎn): 實(shí)在存數(shù)據(jù)的空間只有一份

詳細(xì)的說明我都在代碼中注釋說明了,歡迎指點(diǎn)指點(diǎn)指正。

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JavaScript/Ajax教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 临猗县| 浦东新区| 伊通| 共和县| 奉贤区| 青海省| 吐鲁番市| 徐闻县| 革吉县| 宁夏| 资中县| 天全县| 綦江县| 贵溪市| 土默特左旗| 义乌市| 永和县| 白银市| 武胜县| 福贡县| 乌拉特后旗| 望城县| 新沂市| 巩留县| 贵州省| 周口市| 革吉县| 峨眉山市| 阿克陶县| 商都县| 吴江市| 郯城县| 南宫市| 定州市| 哈巴河县| 大石桥市| 荃湾区| 木兰县| 金湖县| 罗平县| 霸州市|