Object assignment error : Cannot set property "item" of undefined to "7723"
Object assignment error : Cannot set property "item" of undefined to "7723"
我遇到错误 -> 无法将未定义的属性 "item" 设置为“7723”
我的代码如下:
var objBins = new Object();
var stItem = "7723"
var stBinnumber = "S-1-77"
objBins[stItem + stBinnumber].item = stItem;
objBins[stItem + stBinnumber].binnumber = stBinnumber;
错误是什么意思?我做错了什么
默认情况下,当您访问对象中不存在的元素时,它将return undefined
。所以,
objBins[stItem+stBinnumber]
会给出 undefined
而您正在访问 item
。这就是您收到错误的原因,
Cannot set property "item" of undefined to "7723"
你应该先创建相应的对象,像这样
var objBins = new Object();
var stItem = "7723"
var stBinnumber = "S-1-77"
objBins[stItem + stBinnumber] = {};
现在,您已经使用键 7723S-1-77
创建了一个对象,然后您可以执行
objBins[stItem + stBinnumber].item = stItem;
objBins[stItem + stBinnumber].binnumber = stBinnumber;
如果你现在打印 objBins
,它看起来像这样
{ '7723S-1-77': { item: '7723', binnumber: 'S-1-77' } }
注意:您始终可以使用对象字面量创建一个新对象,如下所示
var objBins = {};
var stItem = "7723"
var stBinnumber = "S-1-77"
objBins[stItem + stBinnumber] = {
item: stItem,
binnumber: stBinnumber
};
键 stItem + stBinnumber
处没有对象,因此当您尝试添加 属性 item
时会产生错误 undefined
.
先将其设置为一个对象,然后将您的 item
添加到该对象。
objBins[stItem + stBinnumber] = {};
objBins[stItem+stBinnumber].item = stItem;
您正在尝试访问 item
属性 上不存在的内容。您还没有为 objBins["7723S-1-77"]
分配任何内容,所以它是 undefined
.
相反,尝试:
var objBins = new Object();
var stItem = "7723"
var stBinnumber = "S-1-77"
objBins[stItem+stBinnumber] = {
item: stItem,
binnumber: stBinnumber
};
你应该尝试这样的事情:
$(document).ready(function () {
var objBins = new Object();
var stItem = "7723"
var stBinnumber = "S-1-77"
objBins[stItem+stBinnumber]=new Object();// create new object
objBins[stItem+stBinnumber].item = stItem;
objBins[stItem+stBinnumber].binnumber = stBinnumber;
console.log( objBins[stItem+stBinnumber].item);
});
我遇到错误 -> 无法将未定义的属性 "item" 设置为“7723”
我的代码如下:
var objBins = new Object();
var stItem = "7723"
var stBinnumber = "S-1-77"
objBins[stItem + stBinnumber].item = stItem;
objBins[stItem + stBinnumber].binnumber = stBinnumber;
错误是什么意思?我做错了什么
默认情况下,当您访问对象中不存在的元素时,它将return undefined
。所以,
objBins[stItem+stBinnumber]
会给出 undefined
而您正在访问 item
。这就是您收到错误的原因,
Cannot set property "item" of undefined to "7723"
你应该先创建相应的对象,像这样
var objBins = new Object();
var stItem = "7723"
var stBinnumber = "S-1-77"
objBins[stItem + stBinnumber] = {};
现在,您已经使用键 7723S-1-77
创建了一个对象,然后您可以执行
objBins[stItem + stBinnumber].item = stItem;
objBins[stItem + stBinnumber].binnumber = stBinnumber;
如果你现在打印 objBins
,它看起来像这样
{ '7723S-1-77': { item: '7723', binnumber: 'S-1-77' } }
注意:您始终可以使用对象字面量创建一个新对象,如下所示
var objBins = {};
var stItem = "7723"
var stBinnumber = "S-1-77"
objBins[stItem + stBinnumber] = {
item: stItem,
binnumber: stBinnumber
};
键 stItem + stBinnumber
处没有对象,因此当您尝试添加 属性 item
时会产生错误 undefined
.
先将其设置为一个对象,然后将您的 item
添加到该对象。
objBins[stItem + stBinnumber] = {};
objBins[stItem+stBinnumber].item = stItem;
您正在尝试访问 item
属性 上不存在的内容。您还没有为 objBins["7723S-1-77"]
分配任何内容,所以它是 undefined
.
相反,尝试:
var objBins = new Object();
var stItem = "7723"
var stBinnumber = "S-1-77"
objBins[stItem+stBinnumber] = {
item: stItem,
binnumber: stBinnumber
};
你应该尝试这样的事情:
$(document).ready(function () {
var objBins = new Object();
var stItem = "7723"
var stBinnumber = "S-1-77"
objBins[stItem+stBinnumber]=new Object();// create new object
objBins[stItem+stBinnumber].item = stItem;
objBins[stItem+stBinnumber].binnumber = stBinnumber;
console.log( objBins[stItem+stBinnumber].item);
});