考虑这个程序:
(function(x){
delete x;
return x;
})(1);
输出是什么?
恰好是 1
而不是我预期的 undefined
。我认为 x
纯粹是在函数的范围内,在函数内部删除它应该会使它在函数外部无法访问。
有人可以解释一下吗?
最佳答案
请参阅 delete 的手册:
The
delete
operator deletes a property of an object
和
If
expression
does not evaluate to a property,delete
does nothing.
变量不是属性。
关于javascript - 请解释这个简单的 javascript 面试问题背后的基本原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6997253/