让我们考虑一个定义为
function Stone() {
this.x = 0;
this.y = 400;
};
我实例化一个对象
var st = new Stone;
var ll = [st];
var remov = ll.splice(0, 1);
alert(remov.x);
在这里,remov从列表中删除该对象,但是所有属性均设置为undefined。该警报将警报“未定义”。为什么会这样呢?
最佳答案
您需要访问当前项目。 Splice
可以为您返回一个包含许多项的数组,并且如果有一项,它仍然会为您返回包含一项的数组。因此,您需要获取该项目并访问其属性。有关splice
的更多信息,请参见documentation。
您可以记录remov
并查看其中包含的内容。
function Stone() {
this.x = 0;
this.y = 400;
};
var st = new Stone;
var ll = [st];
var remov = ll.splice(0, 1);
console.log(remov);
alert(remov[0].x);
关于javascript - 拼接返回的对象具有未定义的属性。为什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42022502/