`
longsan
  • 浏览: 46503 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

javascript关键字delete

 
阅读更多

语法

 delete UnaryExpression 

 

UnaryExpression 一元运算符,通常是一个属性名或数组元素

返回结果:

如果 UnaryExpression 的结果是一个对象,且在 UnaryExpression 中指定的属性存在,而该对象又不允许它被删除,则返回 false。在所有其他情况下,返回 true

 

 

删除对象属性

 

var obj = {};
obj.name = 'testname';
alert(obj.name);//testname
delete obj.name;
alert(obj.name);//undefined

 

 

删除数组元素

var arr=[12,23,5,3,25,98,76,54,56,76];
alert(arr.length);//10
delete arr[0];
alert(arr[0]);//undefined
alert(arr.length);//10

 注意:下标为0的元素12被删除了,但是数组第一个元素并没有变为23,数组的长度还是10,而不是9

为了方便,数组的元素删除还是绕道:arr.splice(0,1);吧,此处只演示delete

 

使用delete需要注意的知识点

不能删除 var 申明的变量

var param="nodelete";
delete param; //false
alert(param); // "nodelete" 说明param没有被删除

 处理方法:

eval("var param='nodelete'");//使用eval声明 var变量
alert(window.param);// "nodelete"
delete param; //false
alert(window.param); // undefined 说明已删除

 

 

不能删除函数

function testFun(){}
delete testFun; //true
alert(testFun);//function testFun(){}  说明没有删除 

处理方法:同上使用eval即可

 

不能删除继承自原型的成员

function Obj(){};
Obj.prototype.name="obj";
var o=new Obj();
o.name="obj_1"
alert(o.name);//"obj_1"
delete o.name;//ture
alert(o.name);//"obj"

 处理方法:

delete o.prototype.name;

 

ie下不能删除宿主对象下的变量

window.param="windowparam";
delete param; //抛出异常
alert(param);

处理方法:

with(window){param="windowparam"};  
delete param; 
alert(window.param);//undefined



  


  
分享到:
评论

相关推荐

    javascript 常用关键字列表集合

    Javascript关键字(Reserved Words) Javascript关键字(Reserved Words)是指在Javascript语言中有特定含义,成为Javascript语法中一部分的那些字。 Javascript关键字是不能作为变量名和函数名使用的。使用Javascript...

    JavaScript保留关键字汇总

    JavaScript 保留关键字(keyword) Javascript 的保留关键字(标识符)不可以用作变量、标签或者函数名。有些保留关键字是作为 Javascript 以后扩展使用。 abstract arguments boolean break byte case catch ...

    前端面试题汇总_madeaef_html/css/javascript_前端面试题汇总_

    前端面试题汇总,HTML/CSS/JavaScript/Jquery/移动App开发/nodejs

    Javascript中的关键字和保留字整理

    break do instanceof typeof case else new var catch finally return void continue for switch while debugger* function this with default if throw delete in try  ECM

    Javascript数组操作高级心得整理

     delete运算符 7  instanceof运算符 7 4. with语句 8 (1) 语法及作用 8 (2) 示例 8 5. 分支语句 8 (1) if...else...语句 8 (2) switch语句 8 6. 消息框 8 (1) 警告框 8 (2) 确认框 8 (3) 提示框 9 7. 函数(一般...

    Javascript基础教程之关键字和保留字汇总

    delete do else finally for function if in instanceof new return switch this throw try typeof var void while with 保留字是为以后关键字而准备的 也不可以用来变量或者函数名。 代码如下: abstract boolean ...

    精通JavaScript

    • 3.16.htm delete运算符的应用 • 3.17.htm 用()改变运算优先级 • 3.18.htm 运算符结合性 第4章(\第4章) • 4.1.htm 条件语句内单行代码的写法 • 4.2.htm 变量赋...

    javascript

    不允许使用with,会报SyntaxError ·不允许未声明的变量被赋值, ReferenceError ·arguments变为参数的静态副本 ...·eval,arguments变为关键字,不能作为变量、函数名 SyntaxError ·eval独立作用域

    javascript删除数组元素的七个方法示例

    前面调侃了几句,回归正题,这里要总结7个在JavaScript中删除Array元素的方法,分别是利用length属性、delete关键字、pop()栈方法、shift()队列方法、splice()操作方法、forEach()或filter()迭代方法和prototype原型...

    微软JavaScript手册

    在“字母顺序的关键字列表”中,可以找到按字母顺序列出的所有 JScript 语言的主题。如果只需要查看某个主题(例如对象),则有对该主题进行详细说明的章节可供查阅。 如何操作呢?单击左边任意一个标题,即可显示...

    精通javascript

    • 3.16.htm delete运算符的应用 • 3.17.htm 用()改变运算优先级 • 3.18.htm 运算符结合性 第4章(\第4章) • 4.1.htm 条件语句内单行代码的写法 • 4.2.htm 变量赋...

    107个常用javascript语句

    107.定义常量的关键字:const,定义变量的关键字:var toString(Array.toString 方法) public toString() : String 返回一个字符串值,该值表示所指定的 Array 对象中的元素。数组中的每一个元素(从索引 0 开始到...

    matlab导入excel代码-utl_how_to_delete_every_row_and_columns_which_contains_

    如何删除包含负值的每一行和所有列关键字:sas sql join合并大数据分析宏oracle teradata mysql sas社区stackoverflow statistics人工智慧AI Python R Java Javascript WPS Matlab SPSS Scala Perl CC#Excel MS ...

    javascript语言参考+教程 CHM

    JScript 保留关键字; 高级 JScript; 创建高级对象; 递归; 变量范围; 复制、传递和比较数据; 使用数组; 特殊字符; 脚本问题解答; 条件编译; 条件编译变量; 在浏览器中显示信息; 使用消息框; 语言参考; ...

    oknow:一个简单的 Promise 模块,用于 JavaScript 的延迟回调

    一个简单的 Promise 模块,用于 JavaScript 的延迟回调。 想法 这个简单模块背后的想法是允许链接函数,就像测试框架的工作方式一样——通过使用关键字明确提及何时移动到下一个函数。 安装 npm install oknow ...

    JavaScript 权威指南(第四版) 读书笔记

    ”分号可选择 //单行注释 /*多行注释*/ 标示符 开头必须是字母、下划线、$符号 关键字: break delete function return typeof case do if switch var catch else in this void continue false instanceof throw ...

    详解JavaScript常量定义

    相信同学们在看见这个...在这里我们定义了一个对象 obj ,并且定义了这个对象的两个属性 a 、 b ,我们可以修改这两个属性的值,可以用 delete 关键字删除这两个属性,也可以用 for … in … 语句枚举 obj 对象的所有

Global site tag (gtag.js) - Google Analytics