我認爲如果第二個表達式求值爲false
,指向前面定義的空對象chineseBox
會更自然。
這不是空了。截至chineseBox.content = chineseBox
,它現在有一個屬性。
當你分配到事情的對象引用(變量,屬性等),存儲的值是參考的對象,而不是複製它。因此,無論chineseBox
(變量)和chineseBox.content
(該屬性)指向相同對象,它具有一個所謂的content
屬性。
讓我們把一些ASCII藝術在此:
var chineseBox = {};
這給了我們:
+-----------------------+
| chineseBox (variable) |
+-----------------------+ +---------------+
| value |--------->| (object) |
+-----------------------+ +---------------+
| |
+---------------+
現在我們做
chineseBox.content = chineseBox;
...我們有:
/-----------\
+-----------------------+ | |
| chineseBox (variable) | v |
+-----------------------+ +---------------+ |
| value |--------->| (object) | |
+-----------------------+ +---------------+ |
| content |----/
+---------------+
只有一個對象。有兩個參考文獻指向它。
在JavaScript中有什麼{content:\ [Circular \]}是什麼意思?](http://stackoverflow.com/questions/7923959/what-does-content-circular-mean-in-javascript) – Esailija
@Esailija:不會說這是一個騙局。這是相同的代碼,但措辭不同。 – Matt
@Matt回答這個問題意味着你必須回答這個問題......即使他們的措詞不同。看到答案。 – Esailija