码迷,mamicode.com
首页 > 编程语言 > 详细

javascript delete操作符

时间:2018-01-18 22:10:08      阅读:492      评论:0      收藏:0      [点我收藏+]

标签:表达式   错误   fine   obj   console   end   不能   enc   div   

 

 delete 操作符是从某个对象上移除指定属性,成功删除的时候返回 true ,否则返回 false。

 

  如果删除的属性在对象上不存在,那么 delete 将不起作用,但仍会返回 true。

var person = {
      age:100,
       name:"yangguo",
   }
   console.log(person.name);//yangguo
   console.log(delete person.name);//true
   console.log(person.name);//undefined
   console.log(delete person.girlfriend);//true 删除一个不存在的属性时也会返回 true

 

不可配置的属性:当一个属性被设置为不可设置,delete操作将不会有任何效果,并且会返回false。在严格模式下会抛出语法错误。

var person={};
Object.defineProperty(person,"name",{value:"yangguo",configuar:false});
console.log(person);//{name: "yangguo"}
console.log(delete person.name);//false
console.log(person.name);//yangguo

 

任何使用 var 声明的属性 不能从全局作用域和函数作用域中删除。未使用 var 声明的属性将会被删除

var person = "yangguo";
console.log(delete person);//false
console.log(person);//yangguo
            
color = "red";
console.log(delete color)//true
console.log(color);//Uncaught ReferenceError: color is not defined

 

delete 操作符不能删除任何在全局作用域中的函数(无论这个函数是来自于函数声明或函数表达式)

function fun(){};
console.log(delete fun);//false
console.log(fun);//? fun(){}
            
var func=function(){};
console.log(delete func);//false
console.log(func);//? (){}

 

javascript delete操作符

标签:表达式   错误   fine   obj   console   end   不能   enc   div   

原文地址:https://www.cnblogs.com/jyfeng/p/8313033.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!