javascript的delete运算符知识点总结
网络编程 2021-07-04 15:02www.168986.cn编程入门
在本篇文章里长沙网络推广给大家分享的是关于JS中delete运算符的基础知识点,有需要的朋友们跟着学习下。
delete是一元操作符,它用来删除对象属性或者数组元素。就像 赋值、递增、递减运算符一样,delete也是具有副作用的,它是用来做删除操作的,不是用来返回一个值的,例如
var o = { x: 1, y: 2}; // 定义一个对象 delete o.x; // 删除一个属性 "x" in o // => false:这个属性在对象中不再存在 var a = [1,2,3]; // 定义一个数组 delete a[2]; // 删除一个数组元素 2 in a; // => false:元素2在数组中已经不存在了 a.length // => 3:注意,数组长度并没有改变,尽管上一行代码删除
需要注意的是,删除属性或者删除数组元素不仅仅是设置了一个 undefined的值。当删除一个属性时,这个属性将不再存在。读取一个不 存在的属性将返回undefined,可以通过in运算符(见4.9.3节)来检测这个属性是否在对象中存在。
delete希望他的操作数是一个左值,如果它不是左值,那么delete将 不进行任何操作返回true。否则,delete将试图删除这个指定的左 值。如果删除成功,delete将返回true。并不是所有的属性都可删 除,一些内置核心和客户端属性是不能删除的,用户通过var语句声明 的变量不能删除。同样,通过function语句定义的函数和函数参数也不能删除。
在ECMAScript 5严格模式中,如果delete的操作数是非法的,比如 变量、函数或函数参数,delete操作将抛出一个语法错误 (SyntaxError)异常,只有操作数是一个属性访问表达式(见4.4节)的 时候它才会正常工作。在严格模式下,delete删除不可配置的属性(参 照6.7节)时会抛出一个类型错误异常。在非严格模式下,这些delete操 作都不会报错,只是简单地返回false,以表明操作数不能执行删除操作。
这里有一些关于delete运算符的例子
var o = {x:1, y:2}; //定义一个变量,初始化为对象 delete o.x; //删除一个对象属性,返回true typeof o.x; //属性不存在,返回"undefined" delete o.x; //删除不存在的属性,返回true delete o; //不能删除通过var声明的变量,返回false //在严格模式下,将抛出一个异常 delete 1; //参数不是一个左值,返回true this.x = 1; //给全局对象定义一个属性,这里没有使用 var delete x; //试图删除它,在非严格模式下返回true //在严格模式下会抛出异常,这时使用"delete this.x"来代替 x; //运行时错误,没有定义x
以上就是关于javascript中delete运算符的基础知识点,感谢大家的学习和对狼蚁SEO的支持。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程