Js中的常见问题

通过var拿到到对象的属性后,能直接删除它吗?(而不是通过类似a[b]的方式)

1
2
3
4
5
6
7
8
a={
b:1,
c:2,
}
delete a['b']; // ok,返回true

var k = a[b];
delete k; // 这样是不行,《JavaScript权威指南》p89中这样说:不能删除通过var声明的变量,返回false