js基本數(shù)據(jù)類型 js的對象和引用類型之間到底是什么關(guān)系?
js的對象和引用類型之間到底是什么關(guān)系?使用其他語言和類來更清楚地解釋它。設(shè)置一個類classA,創(chuàng)建一個對象var a=new classA(),對象a是classA的一個實例,如果有var B=n
js的對象和引用類型之間到底是什么關(guān)系?
使用其他語言和類來更清楚地解釋它。設(shè)置一個類classA,創(chuàng)建一個對象var a=new classA(),對象a是classA的一個實例,如果有var B=new classA(),那么B是classA的另一個實例
那么在JS中,new創(chuàng)建的所有東西都是引用類型,比如var a=new classA(),B=a所以a和B實際上指向同一個對象,在這里,引用類型的值引用了這個對象
在JavaScript中,傳遞變量就是傳遞值。如果一個對象被傳遞,它就是引用傳遞。上面的代碼:
調(diào)用fun函數(shù)并傳遞變量A,在函數(shù)中傳遞的參數(shù)A增加1后,全局變量A的值仍然是5,表示在傳遞參數(shù)的過程中,只傳遞了A的值,屬于傳遞值。
object obj屬性age的原始值為20。調(diào)用函數(shù)并傳遞obj以在函數(shù)中更改它。obj對象的age屬性的值是30。調(diào)用函數(shù)后,輸出obj對象的age屬性。發(fā)現(xiàn)該值也變?yōu)?0,表示參數(shù)objectObj和Obj在內(nèi)存中,指向同一地址區(qū),屬于引用傳遞。