{content:[Circular]}在JavaScript中是什么意思?
我的代码是:{content:[Circular]}在JavaScript中是什么意思?,javascript,Javascript,我的代码是: var chineseBox = {}; chineseBox.content = chineseBox; 它返回: { content: [Circular] } 这是什么意思?这是因为chineseBox.content对chineseBox的引用是同一个对象。 循环引用…您的对象包含循环引用。如果您试图打印(或序列化)此对象,则最终将进入无限循环 {content: {content: {content ... 相反,您的系统足够聪明,能够注意到循环并保护自身免受其影响
var chineseBox = {};
chineseBox.content = chineseBox;
它返回:
{ content: [Circular] }
这是什么意思?这是因为chineseBox.content对chineseBox的引用是同一个对象。 循环引用…您的对象包含循环引用。如果您试图打印(或序列化)此对象,则最终将进入无限循环
{content: {content: {content ...
相反,您的系统足够聪明,能够注意到循环并保护自身免受其影响。这意味着您已经定义了循环引用。换句话说,一个引用自身的变量 换句话说,,
chineseBox
等于chineseBox.content
等于chineseBox.content.content
等于chineseBox.content.content.content
等于chineseBox.content.content.content.content
等于chineseBox.content.content.content.content.content.content
等于chineseBox.content.content.content.content.content.content
等于chineseBox.content.content.content.content.content.content
等于chineseBox.content.content.content.content.content.content.content.content
等于chineseBox.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
。。。等等
由于这种循环引用显然不能以任何有限的方式表示,因此显示了[circular]
的结果。其他语言也有自己的术语,比如PHP,它显示*递归*
。循环引用并没有什么特别的世界末日,只是它们在大多数情况下都是无用的
前后参照,如
A.thing=b;b、 事物=a但是,对于链接列表或其他需要能够前后导航的链,代码>可能很有用-同样,您可以编写a.thing.thing.thing.thing.thing.thing
任意内容。这不是javascript(Ecmascript)的一部分-chineseBox返回一个JSON对象,该对象指定内容是循环的(无论对chineseBox意味着什么),它是如何返回的?此处缺少某些内容。第二行代码将计算为右值,即chineseBox
。与chineseBox.content=5
计算为5
的方法相同。有趣的是,有一种方法可以向JavaScript全局对象添加一个属性,该属性的键为“global”(因此您可以使用.global
),并返回全局对象(循环引用)。然后,您就可以在任何地方调用global
,因为JS全局对象的每个属性都可以仅通过其属性名访问,因此请求global
将始终返回全局对象,而不管全局对象的实际名称是什么(“窗口”、“进程”、“任意”等)@切尔西你到底是怎么得到切尔西推特手柄的:D我印象深刻。谢谢!@numbers1311407这就是我的终端的样子:酷,那就是Node.js;它使用V8发动机。