我可以知道为什么它会提示1而不是未定义以下的javascript代码吗?
function a(){
var y=1;
delete y;
alert(y);
}
a();
答案 0 :(得分:2)
delete
operates on the property of an object;不是非对象。
所以,这样可行:
var y = { val: 1};
delete y.val;
console.dir(y);
输出:
{}
答案 1 :(得分:1)
来自MDN参考: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/delete
删除仅对对象的属性有效。它对变量或函数名称没有影响。