JavaScript中的对象和属性

时间:2013-03-26 16:55:31

标签: javascript

我已将问题放在以下代码的评论中:

    var box = {};

    box.content = box; // box{ 'content': {} }  right?



   show('content' in box); // true because content exist inside of the box object

   show('content' in box.content); // false because box.content contains an empty object! Right?

2 个答案:

答案 0 :(得分:2)

是的,你的断言都是正确的。实际上第二个断言也应该返回true:

console.log('content' in box); // true
console.log('content' in box.content); // true

第二个返回true,因为你在这一行设置了递归:

box.content = box;

这是控制台中的结果:

enter image description here

答案 1 :(得分:0)

这应该完全递归地返回true,因为你在'content'属性中引用了对象。

console.log(blah.content.content.content.content === blah) //shows 'true'