有时,对于所有人来说最有可能是基础的东西并没有被理解。我遇到了一些我需要理解的 javascript 代码。我添加了一个调试器,所以我可以逐步完成并希望更好地理解它,但仍然不清楚发生了什么。
var obj = {};
var myID = 999;
var productID = 1;
var myModelID = 100;
var myCatID = 200;
var addMe = 1;
if (typeof obj[myCatID] == 'undefined') {
obj[myCatID] = {};
}
var locationObj = {
state: 'roch',
city: '3',
street: '2nd',
houseNum: '101'
};
var qty = 1;
obj[myCatID][myModelID]={
'location': locationObj,
'quantity': qty,
'prodID': productID,
'id': myID
};
这里发生了什么?obj[myCatID][myModelID] = . 关于 obj 括号表示法中的两个属性的一些事情?然后给它分配一个对象?只是不清楚我在看什么。
通过我的警报和调试器的输出。!https://imgur.com/gEqonS7
!https://imgur.com/igZwgOw
最后,如果我添加一个额外的括号值来将 obj[myCatID][myModelID] 更改为 obj[myCatID][myModelID][addMe] 会怎样?为什么我会收到调试错误,未捕获的 TypeError: 运行时无法设置未定义的属性“1”?我看不出 [myModelID] 和它的声明方式有何不同。我很感激你帮助我克服了这个障碍。
相关分类