我們先來看下面的**
var a =
100;
var obj =
console.
log(obj[
'a']);
console.
log(obj.a)
; console.
log(obj[a]
);
執行結果依次為1 1 undefined
第三行的輸出如果全域性變數沒有定義的話,那麼就是報錯的
我們可以得出結論。obj.a相當於obj.[『a』]後者必須要加引號
第三行可能有人會問,為什麼var a =100 它為撒不等於100呢,因為兩個開闢的空間都不是同乙個空間只是引用的是同乙個棧記憶體裡面的a。
簡單的說就是第三行輸出a的時候會先在obj的作用域裡面去尋找a,但是這裡沒有定義的a,所以會到外面去找a,此時有乙個定義的a,但是開的記憶體不一樣所以為undefined
物件與物件引用的區別
一 前言 為了接下來進行更好的分析,我先建立乙個demo類,用於後面的分析。public class demo demo demo new demo 這條語句,其實包括了四個動作 1 右邊的 new demo 是以demo類為模板,在堆空間裡建立乙個demo物件。2 末尾的 意味著,在物件建立後,立...
C 中 值引用和物件引用的區別
另外,棧有乙個很重要的特殊性,就是存在棧中的資料可以共享。假設我們同時定義 複製內容到剪貼簿 1 2 inta 3 intb 3 編譯器先處理int a 3 首先它會在棧中建立乙個變數為a的引用,然後查詢有沒有字面值為3的位址,沒找到,就開闢乙個存放3這個字面值的位址,然後將a指向3的位址。接著處理...
引用 指標和物件的區別
引用 charles yang 的 指標和物件的區別 簡單來說,指標是一棟大樓的門牌號碼,它的物件是這棟大樓。程式說明,主要是為程式中用到的變數開記憶體單元。程式開頭的指標說明幹什麼呢,也是開記憶體單元,為的是放門牌號碼。無論樓大樓小那怕是一間屋,它的指標,也就是門牌號碼,都一般大,只佔乙個記憶體單...