有時(shí),對(duì)于所有人來(lái)說(shuō)最有可能是基礎(chǔ)的東西并沒(méi)有被理解。我遇到了一些我需要理解的 javascript 代碼。我添加了一個(gè)調(diào)試器,所以我可以逐步完成并希望更好地理解它,但仍然不清楚發(fā)生了什么。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};這里發(fā)生了什么?obj[myCatID][myModelID] = . 關(guān)于 obj 括號(hào)表示法中的兩個(gè)屬性的一些事情?然后給它分配一個(gè)對(duì)象?只是不清楚我在看什么。通過(guò)我的警報(bào)和調(diào)試器的輸出。!https://imgur.com/gEqonS7!https://imgur.com/igZwgOw最后,如果我添加一個(gè)額外的括號(hào)值來(lái)將 obj[myCatID][myModelID] 更改為 obj[myCatID][myModelID][addMe] 會(huì)怎樣?為什么我會(huì)收到調(diào)試錯(cuò)誤,未捕獲的 TypeError: 運(yùn)行時(shí)無(wú)法設(shè)置未定義的屬性“1”?我看不出 [myModelID] 和它的聲明方式有何不同。我很感激你幫助我克服了這個(gè)障礙。
了解 obj 和等于 {some object data} 的兩個(gè)括號(hào)值發(fā)生了什么
慕慕森
2021-10-14 14:04:33