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