gpt4 book ai didi

javascript - delete 关键字对全局变量的不同行为

转载 作者:数据小太阳 更新时间:2023-10-29 05:08:25 26 4
gpt4 key购买 nike

请考虑以下片段(fiddle here):

​var a;

​a = 1;
console.log(delete a​); // prints 'false'

​b = 1;
console.log(delete b);​ // prints 'true'​​​​

为什么 delete 关键字对全局变量 ab 的行为不同?

最佳答案

From the MDN docs :

The delete operator removes a property from an object.

全局变量(不带 var)是全局对象(通常是 window)的属性,因此可以删除。

var 不是全局变量,而是外部作用域中的局部变量 - 不是全局对象的属性 - 所以 delete 不会删除它。来自那些文档:

x = 42;     // creates the property x on the global object
var y = 43; // declares a new variable, y

delete x; // returns true (x is a property of the global object and can be deleted)
delete y; // returns false (delete doesn't affect variable names)

关于javascript - delete 关键字对全局变量的不同行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12433223/

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