var 关键字声明的变量.
var a = 1;
console.log(a);
delete a;
console.log(a);
var 关键字声明变量所赋值对象下的属性.
var a = { b: 2 };
console.log(a.b);
delete a.b;
console.log(a.b);
函数.
function fn(){}
console.log(fn);
delete fn;
console.log(fn);
函数内以 var 关键字声明的变量.
(function fn(){
var a = 1;
console.log(a);
delete a;
console.log(a);
})()
函数内以 var 关键字声明变量所赋值对象下的属性.
(function fn(){
var a = { b: 2 };
console.log(a.b);
delete a.b;
console.log(a.b);
})()
函数内不使用关键字声明变量.
(function fn(){
a = 1;
console.log(a);
delete a;
console.log(a);
})()
函数外不使用关键字声明变量.
a = 1;
console.log(a);
delete a;
console.log(a);
Understanding delete——【Perfection Kills】
[翻译] Understanding delete——【图灵社区】