我正在学习“Javascript:从基础到功能JS”课程,并且我有一个关于对象的问题。我写了这段代码作为答案访问对象和分配变量
'make the line box[innerBox2].full = false'
不会抛出错误。
编辑 - 改变了一些变量的名字(希望)可以很清楚的,我很困惑
我的回答如下:
var box = {};
//Initialize the property box.myInnerBox to empty object
box.myInnerBox = {};
//Create a new variable to point to the value of box.MyInnerBox, which should be an empty object
var insideBox = box.myInnerBox;
box[insideBox].full = false; // Throws Error
但是,这是行不通的。当我将var innerBox2分配给box.innerBox2时,它似乎不喜欢它。为什么上面的代码不工作,而下面的代码呢?具体来说,它如何知道'otherBox'是没有第一个引用框的框的属性?为什么我不能将变量分配给框的属性? 我的问题不是关于如何使用括号vs点符号。我的问题是,为什么分配var innerBox2
到box.innerBox2
值不起作用
var box ={};
box.otherBox = {};
var innerBox2 = 'otherBox';
box[innerBox2].full = false; // No Error
非常感谢。
'box [innerBox2]'与'box.innerBox2'不一样。 –
这就是为什么我试图用'var innerBox2 = box.innerBox2'这一行来设置它。为什么这不起作用? – EFH