欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2018年06月01日 10:36:37   作者:Mcya  
這篇文章主要介紹了JS引用傳遞與值傳遞的區(qū)別與用法,結合實例形式較為詳細的對比分析了javascript引用傳遞與值傳遞的原理、區(qū)別、使用方法及相關操作注意事項,需要的朋友可以參考下

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

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

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

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

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

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

一、引入

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 的空間
  // 所以,系統(tǒng)會自動向外面搜索
  // 這里是對外部的變量進行修改
  a++;
}
func(5);
// 因為函數中修改了外部的變量 a,所以,值發(fā)生改變了,是 6
console.log(a);
// 函數調用中,傳遞是對象,一般稱為 “引用傳遞”
// 特點: 實在存數據的空間只有一份

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

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

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

相關文章

  • js實現文字滾動效果

    js實現文字滾動效果

    這篇文章主要為大家詳細介紹了js實現文字滾動效果,類似于新聞板塊中的公示公告,,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-03-03
  • document.designMode的功能與使用方法介紹

    document.designMode的功能與使用方法介紹

    document.designMode的功能與使用方法介紹...
    2007-11-11
  • jQuery實現動態(tài)文字搜索功能

    jQuery實現動態(tài)文字搜索功能

    本文主要介紹了jQuery實現動態(tài)文字搜索功能的分析過程,文章底部提供了完整的代碼。具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • JS/FLASH實現復制代碼到剪貼板(兼容所有瀏覽器)

    JS/FLASH實現復制代碼到剪貼板(兼容所有瀏覽器)

    使用javascript來寫復制到剪貼板的代碼,一般都是瀏覽器不兼容的。所以采用flash的方式,模擬一個層,再來復制,就可以做到全部瀏覽器都適用,具體實現如下,感興趣的朋友可以參考下哈
    2013-05-05
  • es6 字符串String的擴展(實例講解)

    es6 字符串String的擴展(實例講解)

    下面小編就為大家?guī)硪黄猠s6 字符串String的擴展(實例講解)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • 小程序server請求微信服務器超時的解決方法

    小程序server請求微信服務器超時的解決方法

    這篇文章主要介紹了小程序server請求微信服務器超時的解決方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • 鼠標懸停小圖標顯示大圖標

    鼠標懸停小圖標顯示大圖標

    這篇文章主要介紹了鼠標懸停小圖標顯示大圖標的相關資料,需要的朋友可以參考下
    2016-01-01
  • js不能跳轉到上一頁面的問題解決方法

    js不能跳轉到上一頁面的問題解決方法

    用JS:history.go(-1)就可以回到A頁面,如果使用Click,Change事件等激發(fā)了頁面的回傳,此時用history.go(-1)就回不到A頁面了,遇到此問題的朋友們可以祥看本文
    2013-03-03
  • 使用JS獲取頁面上的所有標簽

    使用JS獲取頁面上的所有標簽

    這篇文章主要介紹了使用JS獲取頁面上的所有標簽 ,需要的朋友可以參考下
    2018-10-10
  • Ajax基礎知識詳解

    Ajax基礎知識詳解

    本文主要介紹了Ajax基礎知識。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02

最新評論