考虑这个程序:
(function(x){
delete x;
return x;
})(1);
输出是什么?
碰巧是1
,而不是我期望的undefined
。我认为x
纯粹是在函数的范围内,在函数内删除它应该使它无法进入外部。
有谁能解释一下吗?
请参阅手册删除:
的属性
delete
操作符删除对象
和
如果
expression
没有计算出属性,则delete
不执行任何操作。