【JavaScript】delete的用法
来源:互联网 发布:tracert端口号 编辑:程序博客网 时间:2024/06/06 07:29
1、删除对象属性
function fun(){ this.name = 'mm';}var obj = new fun();console.log(obj.name); //mmdelete obj.name;console.log(obj.name); //undefined
2、删除无var创建的隐式全局变量(无视是否在函数中创建)
// 定义全局变量name = 'lily'; // "lily"// 试图删除delete name; // true// 测试该删除typeof name; // "undefined"
3、不能删除var创建的全局变量(任何函数之外的程序中创建)
// 定义全局变量var name = 'lily'; // undefined// 试图删除delete name; // false// 测试该删除typeof name; // "string"
4、不能删除原型链中的变量
fun.prototype.age = 18;delete obj.age;console.log(obj.age) //18
上面的第2点和第3点的区别表明:
在技术上,隐式全局变量并不是真正的全局变量,但它们是全局对象的属性。属性是可以通过delete操作符删除的,而变量是不能的。
与delete有关的问题
Q:下面代码输出什么?
var output = (function(x){ delete x; return x;})(0);console.log(output);
A:
输出是 0。
delete 操作符是将object的属性删去的操作。但是这里的 x 是并不是对象的属性, delete 操作符并不能作用。
Q:下面代码输出什么?
var x = 1;var output = (function(){ delete x; return x;})();console.log(output);
A:
输出是 1。
delete 操作符是将object的属性删去的操作。但是这里的 x 是并不是对象的属性, delete 操作符并不能作用。
下面代码输出什么?
var x = { foo : 1};var output = (function(){ delete x.foo; return x.foo;})();console.log(output);
A:
输出是 undefined。
x虽然是全局变量,但是它是一个object。delete作用在x.foo上,成功的将x.foo删去。所以返回undefined
Q:下面代码输出什么?
var Employee = { company: 'xyz'}var emp1 = Object.create(Employee);delete emp1.companyconsole.log(emp1.company);
A:
输出是 xyz。
这里的 emp1 通过 prototype 继承了 Employee的 company。emp1自己并没有company属性。所以delete操作符的作用是无效的。
阅读全文
0 0
- JavaScript 的 delete 用法
- JavaScript 的 delete 用法
- JavaScript:delete的用法
- 【JavaScript】delete的用法
- JavaScript中delete的用法
- javascript中delete用法
- new/delete 的用法
- delete this的用法
- delete this的用法
- ABAP delete的用法
- new, delete 的用法
- ABAP delete的用法
- javascript的delete
- javascript的delete
- javascript的delete
- javascript的delete
- javascript的delete
- 关于javascript的delete
- solve error pydoop.LocalModeNotSupported: ERROR: Hadoop is configured to run in local mode
- CSDN个人博客规范
- 解决问题:Ubuntu系统无法安装Google Chrome 浏览器
- 最简单的JDBC连接
- 添加
- 【JavaScript】delete的用法
- 第十三周项目二——二叉树排序树中查找的路径
- spring_day4_02-ssh整合思想
- 第十二周 项目验证算法(1)Prim算法的验证
- imooc疯狂的蚂蚁《Python开发简单爬虫》源代码
- 共多少件商品
- 面向对象--原型链
- kafka常用命令
- MyEclipse中Maven+Tomcat环境搭建