【发布时间】:2015-10-04 16:10:39
【问题描述】:
我有一个关于删除对象属性的问题,例如:
<!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(删除就OK了!!),为什么??
【问题讨论】:
标签: javascript