国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

理解ECMAScript中所有的參數傳遞的都是值,不可能通過引用傳遞參數

pingink / 1722人閱讀

摘要:解釋為什么所有的參數傳遞的都是值,不可能通過引用傳遞參數值的含義這里的值,指的是,復制傳進來的對象的地址,把這個復制值賦給參數引用傳遞的含義直接將變量本身的地址傳進去,直接把傳進來的對象的地址傳給參數參數傳遞的過程把傳進來的對象的地址復制一

解釋為什么所有的參數傳遞的都是值,不可能通過引用傳遞參數 “值”的含義

這里的值,指的是,復制傳進來的對象的地址,把這個復制值賦給參數

引用傳遞的含義

直接將變量本身的地址傳進去,直接把傳進來的對象的地址傳給參數

參數傳遞的過程

把傳進來的對象的地址復制一份

把這個復制出來的值傳給參數

參數和傳進來的對象訪問的是一個地址,對參數進行操作會表現在對象上

結合代碼進行理解
function setName(obj) {
    obj.name = "XX"; // 對obj進行操作會表現在person上
    obj = new Object(); // 這里obj的引用改變了,如果傳遞的是引用,那么person的地址也會改變,也就是說,接下來對obj的操作,也會表現在person上
    obj.name = "YY";
}
let person = new Object();
setName(person);
console.log(person.name); // XX,說明不是引用傳遞
總結

如果是引用傳遞,那么在函數內部改變對象的引用時,傳進來的參數的地址也會改變,接下來對函數內部對象的操作,也會表現在傳進來的參數上,然而上面驗證并非如此,所以“ECMAScript中所有的參數傳遞的都是值”

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/107856.html

相關文章

  • 深入理解javascript按值傳遞與按引用傳遞

    摘要:引用類型參數的傳遞與引用類型的復制一樣,傳遞的是內存地址。指向一個新的地址,與不再指向同一個地址官方解釋來一發中所有函數的參數都是按值傳遞的。總結很簡單,函數參數都是按值傳遞都是棧內數據的拷貝。 基本類型與引用類型 值類型(基本類型):String,Number,Boolean,Null,Undefined。 引用類型:Array、Object、Function、Date等有多個值...

    陳江龍 評論0 收藏0
  • 深入理解javascript按值傳遞與按引用傳遞

    摘要:引用類型參數的傳遞與引用類型的復制一樣,傳遞的是內存地址。指向一個新的地址,與不再指向同一個地址官方解釋來一發中所有函數的參數都是按值傳遞的。總結很簡單,函數參數都是按值傳遞都是棧內數據的拷貝。 基本類型與引用類型 值類型(基本類型):String,Number,Boolean,Null,Undefined。 引用類型:Array、Object、Function、Date等有多個值...

    hedzr 評論0 收藏0
  • 如何使用ES6參數

    摘要:我們可以利用這一點,如果參數缺失就拋出錯誤在中,我們可以更近一步,使用默認參數來設置強制參數對象在的時候默認參數就被加入,來代替對象,但并沒有實現。隨著的發布,現在官方支持了默認參數。 ECMAScript 6(或者叫 ECMAScript 2015)是 ECMAScript 的最新標準,極大的提高了 JavaScript 中處理參數的能力。現在我們可以使用 rest 參數(rest ...

    Hanks10100 評論0 收藏0
  • 圖解JavaScript參數傳遞

    摘要:寫在最前本次嘗試通過流程圖的形式并結合兩個例子來重新理解一下中的參數傳遞。歡迎關注我的博客,不定期更新中參數到底如何傳遞借用紅寶書的一句話中所有函數的參數都是按值傳遞的這個值如果是簡單類型,那么就是其本身。同時執行第一個結果即為。 寫在最前 本次嘗試通過流程圖的形式并結合兩個例子來重新理解一下JavaScript中的參數傳遞。 歡迎關注我的博客,不定期更新中—— 參數到底如何傳遞? 借...

    Berwin 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<