91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JS引用傳遞與值傳遞的區別與用法分析

發布時間:2020-10-22 17:20:35 來源:腳本之家 閱讀:154 作者:Mcya 欄目:web開發

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

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

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

函數調用中,傳遞是一個數值,我們稱為 “值傳遞”。
函數調用中,傳遞是對象,一般稱為 “引用傳遞”。

現在這里總體上說明,這二者的本質區別就在于傳遞的數據類型不一樣,值傳遞傳遞的是一個值,而引用傳遞傳遞的是一個對象。

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

一、引入

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

二、值傳遞

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

三、引用傳遞

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

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

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《javascript面向對象入門教程》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

突泉县| 韶关市| 昆明市| 杭锦旗| 利津县| 阿勒泰市| 房山区| 行唐县| 武宁县| 淳化县| 南投市| 铁力市| 略阳县| 阜康市| 呼图壁县| 涞源县| 天津市| 涞水县| 安国市| 怀仁县| 大埔区| 泾川县| 茶陵县| 济阳县| 安阳市| 高淳县| 博乐市| 瑞安市| 邯郸市| 鹤壁市| 车险| 开阳县| 神池县| 巴塘县| 山东| 卫辉市| 江川县| 石景山区| 濮阳市| 庆城县| 阿巴嘎旗|