有时,对于所有人来说最有可能是基础的东西并没有被理解。我遇到了一些我需要理解的 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] 和它的声明方式有何不同。我很感激你帮助我克服了这个障碍。
添加回答
举报
0/150
提交
取消