摘要:解釋為什么所有的參數傳遞的都是值,不可能通過引用傳遞參數值的含義這里的值,指的是,復制傳進來的對象的地址,把這個復制值賦給參數引用傳遞的含義直接將變量本身的地址傳進去,直接把傳進來的對象的地址傳給參數參數傳遞的過程把傳進來的對象的地址復制一
解釋為什么所有的參數傳遞的都是值,不可能通過引用傳遞參數 “值”的含義
這里的值,指的是,復制傳進來的對象的地址,把這個復制值賦給參數
引用傳遞的含義直接將變量本身的地址傳進去,直接把傳進來的對象的地址傳給參數
參數傳遞的過程把傳進來的對象的地址復制一份
把這個復制出來的值傳給參數
參數和傳進來的對象訪問的是一個地址,對參數進行操作會表現在對象上
結合代碼進行理解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
摘要:引用類型參數的傳遞與引用類型的復制一樣,傳遞的是內存地址。指向一個新的地址,與不再指向同一個地址官方解釋來一發中所有函數的參數都是按值傳遞的。總結很簡單,函數參數都是按值傳遞都是棧內數據的拷貝。 基本類型與引用類型 值類型(基本類型):String,Number,Boolean,Null,Undefined。 引用類型:Array、Object、Function、Date等有多個值...
摘要:引用類型參數的傳遞與引用類型的復制一樣,傳遞的是內存地址。指向一個新的地址,與不再指向同一個地址官方解釋來一發中所有函數的參數都是按值傳遞的。總結很簡單,函數參數都是按值傳遞都是棧內數據的拷貝。 基本類型與引用類型 值類型(基本類型):String,Number,Boolean,Null,Undefined。 引用類型:Array、Object、Function、Date等有多個值...
摘要:我們可以利用這一點,如果參數缺失就拋出錯誤在中,我們可以更近一步,使用默認參數來設置強制參數對象在的時候默認參數就被加入,來代替對象,但并沒有實現。隨著的發布,現在官方支持了默認參數。 ECMAScript 6(或者叫 ECMAScript 2015)是 ECMAScript 的最新標準,極大的提高了 JavaScript 中處理參數的能力。現在我們可以使用 rest 參數(rest ...
摘要:寫在最前本次嘗試通過流程圖的形式并結合兩個例子來重新理解一下中的參數傳遞。歡迎關注我的博客,不定期更新中參數到底如何傳遞借用紅寶書的一句話中所有函數的參數都是按值傳遞的這個值如果是簡單類型,那么就是其本身。同時執行第一個結果即為。 寫在最前 本次嘗試通過流程圖的形式并結合兩個例子來重新理解一下JavaScript中的參數傳遞。 歡迎關注我的博客,不定期更新中—— 參數到底如何傳遞? 借...
閱讀 2252·2021-09-26 09:55
閱讀 3583·2021-09-23 11:22
閱讀 2151·2019-08-30 15:54
閱讀 1894·2019-08-28 18:03
閱讀 2590·2019-08-26 12:22
閱讀 3425·2019-08-26 12:20
閱讀 1723·2019-08-26 11:56
閱讀 2245·2019-08-23 15:30