假设我们处于全球范围内:
当我在JS中声明变量时:
a = 1
我知道这不是正确的方法(但这不是问题)。 我可以用:
delete a (> returns true)
但是当我宣布:
var b = 1
我无法使用:
delete b (> returns false)
任何人都可以解释这种行为吗?
答案 0 :(得分:8)
delete
仅对对象的属性有效。它对变量或函数名称没有影响。https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/delete
a
变为/最终被解释为window.a
,而b
显然是指本地变量。