gpt4 book ai didi

javascript对象删除元素

转载 作者:行者123 更新时间:2023-12-03 09:33:06 25 4
gpt4 key购买 nike

我有一个关于删除对象属性的问题,例如:

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<title>test</title>
</head>

<body>
<script type="text/javascript">
var tmp = {
x: 1,
y: 2,
z: 3
};
var tmp1 = {
x: 1
};


for (pro in tmp) {
console.log("get tmp <<" + pro + ">> property!!");

if (!tmp1.hasOwnProperty(pro)) {
console.log("we will delete <<" + pro + ">> property");
delete tmp.pro; // or delete tmp[pro];
}
}

console.log("--------------");
for (p in tmp)
console.log(p);
console.log("--------------");

for (p in tmp)
document.write(p + "--" + tmp[p] + '<br>');
</script>
</body>

</html>

如果我使用delete tmp.pro结果:x=1 y=2 z=3(不起作用!!),但是当我使用delete tmp[pro ]结果是x=1(删除就可以了!!),为什么??

最佳答案

pro 是一个字符串,否则 JavaScript 会将其解释为 tmp 上存在的 pro 属性。当您使用方括号时,这是按名称引用属性的另一种方式。

这些是等效的:

// #1
bar['baz']

// #2
bar.baz

// #3
var prop = 'baz';
bar[prop]

关于javascript对象删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31433457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com