摘要:說明一下里函數傳的是值還是引用答案是都傳。如果傳入的參數是簡單類型,如和,那么傳入的就是值。如果是對象和數組,在函數里做的操作就會影響到函數外邊。舉幾個栗子結語提問和糾錯請留言。
說明一下
JavaScript里函數傳的是值還是引用?答案是都傳。如果傳入的參數是簡單類型,如String和Number,那么傳入的就是值。但如果你傳入的是Object和Array,那么就是引用。
這就意味著,在函數里怎么處理簡單類型,都不會影響到函數外。如果是對象和數組,在函數里做的操作就會影響到函數外邊。
舉幾個栗子 Numberfunction foo(num){ num++; } var x = 0; foo(x); console.log(x); // 0String
function foo(str){ str+="b"; } var x = "a"; foo(x); console.log(x); // "a"Array
function foo(arr){ arr[1]++; } var x = [0, 1, 2]; foo(x); console.log(x); // [0, 2, 2]Object
function foo(o){ o.num++; } var x = { num: 0 }; foo(x); console.log(x); // Object {num: 1}結語
提問和糾錯請留言。
相關: http://tech.pro/blog/6589/arguments-passed-value-reference-javascript
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/85542.html
摘要:在做數據處理的時候碰到一個奇怪的現象大興大興大興大興大興大興大興發現這個列表里的每個元素都是一樣的檢查循環里的和一切正常循環里的就不太正常朝陽海淀海淀昌平昌平昌平豐臺豐臺豐臺豐臺西城西城西城西城西城部分數據是這樣的發生了的操作但列表里所有元 在做數據處理的時候, 碰到一個奇怪的現象. for tuple in list.most_common(): dict[name] = t...
摘要:引用類型參數的傳遞與引用類型的復制一樣,傳遞的是內存地址。指向一個新的地址,與不再指向同一個地址官方解釋來一發中所有函數的參數都是按值傳遞的。總結很簡單,函數參數都是按值傳遞都是棧內數據的拷貝。 基本類型與引用類型 值類型(基本類型):String,Number,Boolean,Null,Undefined。 引用類型:Array、Object、Function、Date等有多個值...
摘要:引用類型參數的傳遞與引用類型的復制一樣,傳遞的是內存地址。指向一個新的地址,與不再指向同一個地址官方解釋來一發中所有函數的參數都是按值傳遞的。總結很簡單,函數參數都是按值傳遞都是棧內數據的拷貝。 基本類型與引用類型 值類型(基本類型):String,Number,Boolean,Null,Undefined。 引用類型:Array、Object、Function、Date等有多個值...
摘要:中對內存的一些了解在進行開發的過程中了解內存機制有助于開發人員能夠清晰的認識到自己寫的代碼在執行的過程中發生過什么也能夠提高項目的代碼質量內存是怎么樣的中變量存放有著原始值與引用值之分原始值原始的數據類型以及新加入的引用值等類型的值便是引用 JS中對內存的一些了解 在JS進行開發的過程中, 了解JS內存機制有助于開發人員能夠清晰的認識到自己寫的代碼在執行的過程中發生過什么, 也能夠提高...
閱讀 1223·2021-11-25 09:43
閱讀 1337·2021-09-26 09:55
閱讀 2330·2021-09-10 11:20
閱讀 3365·2019-08-30 15:55
閱讀 1441·2019-08-29 13:58
閱讀 1164·2019-08-29 12:36
閱讀 2337·2019-08-29 11:18
閱讀 3407·2019-08-26 11:47