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

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 15:33:41
字體:
供稿:網(wǎng)友

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

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

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

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

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

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

一、引入

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

二、值傳遞

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

三、引用傳遞

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

詳細的說明我都在代碼中注釋說明了,歡迎指點指點指正。

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學運算用法總結(jié)》

希望本文所述對大家JavaScript程序設計有所幫助。

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

圖片精選

主站蜘蛛池模板: 合山市| 东安县| 壤塘县| 屏南县| 察雅县| 龙井市| 辽中县| 南宫市| 清水县| 萍乡市| 郴州市| 咸丰县| 张北县| 南丹县| 绥阳县| 修武县| 依兰县| 华亭县| 武隆县| 舞钢市| 富川| 辽阳市| 玉树县| 仁寿县| 防城港市| 房产| 磐安县| 来凤县| 清丰县| 阿城市| 博野县| 永吉县| 察哈| 阆中市| 湄潭县| 连城县| 丽江市| 望都县| 称多县| 东宁县| 沅江市|