第一個問題js中的復雜(引用)數(shù)據(jù)類型,比如數(shù)組,對象之類的,比如這樣寫:var object = {
name: 'haha',
age: 2};這樣的話棧內(nèi)存中就有一片區(qū)域名為object,然后它里面存的是一個堆內(nèi)存(也就是那存name和age這兩個屬性的堆內(nèi)存)的地址,對吧?可是堆內(nèi)存里面的數(shù)據(jù)不是連續(xù)存儲的吧?所以存儲name和age的堆內(nèi)存的地址既然不是連續(xù)的,計算機又是怎么找到它們的呢?就是說計算機怎么知道object這兩個屬性在哪里的?當我們給object再增加一個屬性的時候,在內(nèi)存中發(fā)生了什么?第二個問題當我們寫下var a = 1;這句代碼的時候,我想著計算機中有一片區(qū)域(假設為0x1234吧)存儲了數(shù)值1,那么這個a到底是什么呢?難道計算機中有一個表,寫著a對應著0x1234?望解答~
JavaScript中的復雜類型變量在內(nèi)存中是怎么實現(xiàn)的?
千萬里不及你
2018-10-03 15:14:05