JavaScript学习笔记_Javascript中delete运算符
2017-11-17 13:27
656 查看
Javascript中delete运算符
Delete是Javascript语言中使用频率较低的操作之一,但是有些时候,当我们需要做delete或者清空动作时,就需要delete操作。在这篇文章中,我们将深入探讨如何使用它,以及它是如何工作的。删除的目的,如你所想,就是要删除某些东西,更具体的说,它会删除对象的属性,如下例:
var Benjamin = { "name": "zuojj", "url" : "http://www.zuojj.com" }; delete Benjamin.name; //Outputs: Object { url: "http://www.zuojj.com" } console.log(Benjamin);
delete运算符将不会删除普通变量,如下例:
var benjamin = "http://www.zuojj.com"; delete benjamin; //Outputs: "http://www.zuojj.com" console.log(benjamin);
一、删除“全局变量”
但是,它可以删除“全局变量”,因为它们事实上是全局对象(浏览器中是window)对象的属性// Because var isn't used, this is a property of window benjamin = "zuojj"; delete window.benjamin; // ReferenceError: benjamin is not defined console.log(benjamin);
delete运算符也有一个返回值,如果删除一个属性成功了,返回true,如果不能删除属性,因为该属性是不可写,将返回false,或者如果在严格模式下会抛出一个错误。
var benjamin = { "name": "zuojj", "url" : "http://www.zuojj.com" }; var nameDeleted = delete benjamin.name; // Outputs: true console.log(nameDeleted); "use strict"; var benjamin_02 = "zuojj"; //Outputs: Uncaught SyntaxError: Delete of an unqualified identifier in strict mode. delete benjamin_02;
二、如何使用
你可能不知道在什么情况下使用删除运算符。答案是,只要你真的想从对象中删除一个属性。有的时候,Javascript开发不是删除一个属性,而是把这个属性值设置为null.像下面这样:
var benjamin = { "name": "zuojj", "url" : "http://www.zuojj.com" }; benjamin.name = null;
虽然这有效地切断从原来的值的属性,但该属性本身仍然存在的对象上,你可以看到如下:
// Outputs: Object { name: null, url: "http://www.zuojj.com" } console.log(benjamin);
同时,像in和for in 循环运算将不会报告null属性的存在,如果你使用个对象,可能使用这些方法来检查一个对象,你可能想确保你真正删除任何不需要的属性。
最后,你应该记住,删除并没有破坏属性的值,仅仅属性本身,看下面的例子
var name = "zuojj", benjamin = {}; benjamin.name = name; delete benjamin.name; //Outputs: "zuojj" console.log(name);
这里,name和benjamin.name映射到相同的值,真如你所看到的,删除benjamin.name并不会影响name.
相关文章推荐
- Javascript学习笔记 delete运算符
- JavaScript学习笔记(8)——JavaScript语法之运算符
- JavaScript权威设计--JavaScript表达式与运算符,语句(简要学习笔记六)
- [知了堂学习笔记]_JavaScript之typeof运算符
- javascript学习笔记:new运算符
- (7)JavaScript学习笔记 - 运算符(续)
- JavaScript学习笔记——表达式与运算符
- Javascript学习笔记(二)Javascript核心之表达式和运算符
- 韩顺平_轻松搞定网页设计(html+css+javascript)_第20讲_js基本数据类型_js运算符1_学习笔记_源代码图解_PPT文档整理
- javascript学习笔记——表达式和运算符
- Javascript学习笔记-----运算符
- JavaScript学习笔记第一天——运算符
- 【学习笔记】javascript 基础篇 变量 运算符 函数
- JavaScript深入浅出学习笔记(二)—表达式和运算符
- 【Web前端学习笔记】Javascript_02_运算符,控制语句,常用语句,函数定义
- Javascript学习笔记(运算符)
- JavaScript基础学习笔记(二)——JavaScript 注释、JavaScript 变量、JavaScript运算符
- JavaScript权威设计--JavaScript表达式与运算符(简要学习笔记五)