我的代碼是:JavaScript中的{content:[Circular]}是什麼意思?
var chineseBox = {};
chineseBox.content = chineseBox;
和它返回:
{ content: [Circular] }
這是什麼意思?
我的代碼是:JavaScript中的{content:[Circular]}是什麼意思?
var chineseBox = {};
chineseBox.content = chineseBox;
和它返回:
{ content: [Circular] }
這是什麼意思?
那是因爲chineseBox.content有一個對同一個對象的ChineseBox的引用。 A Circular reference ...
您的對象包含circular reference。如果你試圖打印(或序列化)這個對象,你會在一個無限循環結束
{content: {content: {content ...
相反,你的系統是足夠聰明,圓度和保護自己反對。
我對於什麼系統顯示輸出有點好奇。 – numbers1311407
謝謝!和@ numbers1311407這實際上是我的終端看起來像:http://d.pr/nE8a –
很酷,這將是Node.js;它使用V8引擎。 – Peter
這意味着你已經定義了一個循環引用。換句話說,一個引用自身的變量。
換句話說,chineseBox
等於chineseBox.content
等於chineseBox.content.content
等於chineseBox.content.content.content
等於chineseBox.content.content.content.content
等於chineseBox.content.content.content.content.content
等於chineseBox.content.content.content.content.content.content
等於chineseBox.content.content.content.content.content.content.content
等於chineseBox.content.content.content.content.content.content.content.content
等於chineseBox.content.content.content.content.content.content.content.content.content
等於chineseBox.content.content.content.content.content.content.content.content.content.content
是等於chineseBox.content.content.content.content.content.content.content.content.content.content.content
等於chineseBox.content.content.content.content.content.content.content.content.content.content.content.content
等於chineseBox.content.content.content.content.content.content.content.content.content.content.content.content.content
......等等無限。
由於這樣的循環引用非常清楚地不能以任何有限的方式表示,因此顯示了[Circular]
的結果。其他語言對於該術語具有自己的短語,例如顯示*RECURSION*
的PHP。關於循環引用沒有什麼特別的世界末日,只是它們在大多數時間都是無用的。
來回引用(例如a.thing = b; b.thing = a;
)可用於鏈接列表或其他鏈,您需要能夠向後導航和向前導航 - 再次,您可以將a.thing.thing.thing.thing.thing.thing
編寫爲就像你想要的一樣。
哇.......哈哈 – Peter
這不是javascript的一部分(Ecmascript) - chineseBox返回一個JSON對象,指定內容是圓形的(不管這意味着什麼對中文框) – mozillanerd
它返回那麼怎麼樣?這裏缺少一些東西。 – BNL
代碼的第二行將評估爲右鍵,即'chineseBox'。就像'chineseBox.content = 5'將同樣的方式評估爲'5'。 – Peter