浅析JavaScript中的delete运算符
内容摘要
delete运算符将删除运算数所指定的对象的属性、数组元素或变量。如果删除操作成功,它将返回true,如果运算数不能被删除,
它将返回false。并非所有的属性和变量都是可以删除的,某
它将返回false。并非所有的属性和变量都是可以删除的,某
文章正文
delete运算符将删除运算数所指定的对象的属性、数组元素或变量。如果删除操作成功,它将返回true,如果运算数不能被删除,
它将返回false。并非所有的属性和变量都是可以删除的,某些内部的核心属性和客户端属性不能删除,用var语句声明的用户
定义变量也不能被删除。如果delete使用的运算数是一个不存在的属性,它将返回true(ECMAScript标准规定,当delete运算的
运算数不是属性、数组元素或变量时,它将返回true)。
var o = {x:1, y: 2}; //定义一个变量
delete o.x; //删除o对象的x属性,返回true
typeof o.x; //返回undefined
delete o.x; //返回true
delete o; //不能删除变量
delete 1; //不能删除整型的变量值1
x = 1; //
delete x; //可以删除,return true
代码注释