通过var声明的变量delete不能删除,但是它也是window的属性啊?

通过var声明的变量delete不能删除,但是它也是window的属性啊?求解释

var foo = 1;
window.bar = 2;
delete foo;
delete bar;
console.log(window.foo,window.bar)//1 undefined
阅读 2.8k
1 个回答

因为用var声明的变量,其属性是configurable = false的,所以不能删除。

var ss = 0;
console.log(Object.getOwnPropertyDescriptor(window, 'ss'));

/*
{
    configurable: false
    enumerable: true
    value: 0
    writable: true
}
*/
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题