语法
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关键字(Reserved Words) Javascript关键字(Reserved Words)是指在Javascript语言中有特定含义,成为Javascript语法中一部分的那些字。 Javascript关键字是不能作为变量名和函数名使用的。使用Javascript...
JavaScript 保留关键字(keyword) Javascript 的保留关键字(标识符)不可以用作变量、标签或者函数名。有些保留关键字是作为 Javascript 以后扩展使用。 abstract arguments boolean break byte case catch ...
前端面试题汇总,HTML/CSS/JavaScript/Jquery/移动App开发/nodejs
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
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. 函数(一般...
delete do else finally for function if in instanceof new return switch this throw try typeof var void while with 保留字是为以后关键字而准备的 也不可以用来变量或者函数名。 代码如下: abstract boolean ...
• 3.16.htm delete运算符的应用 • 3.17.htm 用()改变运算优先级 • 3.18.htm 运算符结合性 第4章(\第4章) • 4.1.htm 条件语句内单行代码的写法 • 4.2.htm 变量赋...
不允许使用with,会报SyntaxError ·不允许未声明的变量被赋值, ReferenceError ·arguments变为参数的静态副本 ...·eval,arguments变为关键字,不能作为变量、函数名 SyntaxError ·eval独立作用域
前面调侃了几句,回归正题,这里要总结7个在JavaScript中删除Array元素的方法,分别是利用length属性、delete关键字、pop()栈方法、shift()队列方法、splice()操作方法、forEach()或filter()迭代方法和prototype原型...
在“字母顺序的关键字列表”中,可以找到按字母顺序列出的所有 JScript 语言的主题。如果只需要查看某个主题(例如对象),则有对该主题进行详细说明的章节可供查阅。 如何操作呢?单击左边任意一个标题,即可显示...
• 3.16.htm delete运算符的应用 • 3.17.htm 用()改变运算优先级 • 3.18.htm 运算符结合性 第4章(\第4章) • 4.1.htm 条件语句内单行代码的写法 • 4.2.htm 变量赋...
107.定义常量的关键字:const,定义变量的关键字:var toString(Array.toString 方法) public toString() : String 返回一个字符串值,该值表示所指定的 Array 对象中的元素。数组中的每一个元素(从索引 0 开始到...
如何删除包含负值的每一行和所有列关键字:sas sql join合并大数据分析宏oracle teradata mysql sas社区stackoverflow statistics人工智慧AI Python R Java Javascript WPS Matlab SPSS Scala Perl CC#Excel MS ...
JScript 保留关键字; 高级 JScript; 创建高级对象; 递归; 变量范围; 复制、传递和比较数据; 使用数组; 特殊字符; 脚本问题解答; 条件编译; 条件编译变量; 在浏览器中显示信息; 使用消息框; 语言参考; ...
一个简单的 Promise 模块,用于 JavaScript 的延迟回调。 想法 这个简单模块背后的想法是允许链接函数,就像测试框架的工作方式一样——通过使用关键字明确提及何时移动到下一个函数。 安装 npm install oknow ...
”分号可选择 //单行注释 /*多行注释*/ 标示符 开头必须是字母、下划线、$符号 关键字: break delete function return typeof case do if switch var catch else in this void continue false instanceof throw ...
相信同学们在看见这个...在这里我们定义了一个对象 obj ,并且定义了这个对象的两个属性 a 、 b ,我们可以修改这两个属性的值,可以用 delete 关键字删除这两个属性,也可以用 for … in … 语句枚举 obj 对象的所有