通过var声明的变量delete不能删除,但是它也是window的属性啊?求解释
var foo = 1;
window.bar = 2;
delete foo;
delete bar;
console.log(window.foo,window.bar)//1 undefined
过去多啦不再A梦2017-06-14 10:54:39
因为用var
声明的变量,其属性是configurable = false
的,所以不能删除。
var ss = 0;
console.log(Object.getOwnPropertyDescriptor(window, 'ss'));
/*
{
configurable: false
enumerable: true
value: 0
writable: true
}
*/