1、定义在非全局作用域中的变量常量以及函数
在函数作用域中
function fun(){
var a = 1;
console.log(delete a);//false
return a;
}
fun();//1
function fun(){
function a(){};
console.log(delete a);//false
return a;
}
fun();//function a(){}:
在块级作用域中
{
let a = 1;
console.log(delete a);//false
console.log(a);//1
}
2、定义在{}中的函数声明
{
function a(){}
console.log(delete a);//false
console.log(a);//function a(){}
}
//不能在{}中删除,但是可以在{}外删除
console.log(delete a);//true
console.log(a);//error:'a' is not defined
3、内置对象的属性
delete Math.E;//false
//内置对象的方法可以被删除
delete Math.abs;//true