了解 obj 和等于 {some object data} 的两个括号值发生了什么

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


慕慕森
浏览 140回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript