Javascript教程:delete删除对象

2016-02-20 01:06 12 1 收藏

下面请跟着图老师小编一起来了解下Javascript教程:delete删除对象,精心挑选的内容希望大家喜欢,不要忘记点个赞哦!

【 tulaoshi.com - Web开发 】

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

在javascript中,我们有时候要使用delete删除对象。但是,对于delete的一些细节我们未必尽知。昨天,看到kangax分析delete的文章,获益匪浅。本文将文章的精华部分翻译出来,与各位分享。

原理代码类型 执行上下文 激活对象/可变对象 属性特性 内置对象和DontDelete 未声明的赋值 Firebug 困惑通过eval删除变量 浏览器兼容性Gecko DontDelete bug IE bugs 误区 ‘delete’和宿主对象 ES5严格模式 总结

原理

为什么我们能删除一个对象的属性?

var o = { x: 1 };
delete o.x; // true
o.x; // undefined

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

但是,像这样声明的变量则不行:

var x = 1;
delete x; // false
x; // 1

或者如此声明的函数:

function x(){}
delete x; // false
typeof x; // "function"

注意,当一个属性不能被删除时,只返回false。

要理解这一点,我们首先需要掌握像变量实例化和属性特性这样的概念--遗憾的是这些在关于javascript的书中很少讲到。我将在接下来的几个段落中试着简明的重温这些概念。 理解它们一点也不难,如果你不在乎它们为什么这么运行,你可以随意的跳过这一章。

代码类型

在ECMAScript中有三种类型的可执行代码:全局代码(Global code)函数代码(Function code)Eval code。这些类型有那么点自我描述,但这里还是作一个简短的概述:

当一段源代码正文被视为程序时,它在全局作用域中执行,被当成全局代码(Global code)。在一个浏览器环境中,SCRIPT元素中的内容通常被当作程序来解析,因此,它被当作全局代码来评估。 在一个函数内部直接执行的任何代码,很明显被当作函数代码(Function code)。在浏览器红中事件属性的内容(如:)通常被当作函数代码(Function code)来解析; 最后,提供给内置函数eval()的文本被当作Eval 代码(Eval code)来解析。我们很快会看到这种类型很特殊。

来源:http://www.tulaoshi.com/n/20160220/1633297.html

延伸阅读
标签: 电脑入门
MAC中的删除键(Delete键)的作用是很大的,在许多时候,用户们都要用到Delete键,不过有一些新手用户并不完全清楚Delete键的作用。今天就让图老师小编来跟大家介绍一下Delete键的作用吧。 Mac电脑删除键(Delete键)的作用: 第一种作用 :按 delete 键,实现 Windows 键盘上退格键的功能,也就是删除光标之前的一个字符(默认); ...
标签: Web开发
----什么是类和对象     这是所有面向对象编程之前必须弄明白的.     所谓类:简单地说就是模板,说的专业一些,是一类具有某种性质的物的集合.比如:人就是一个类,车也是一个类,等等.     所谓对象:就是类的具体实现.如上面所说,人是一个类,一个具体的人就是一个对象,比如张三.   &nb...
标签: Web开发
在JavaScript中对于对象属性与方法的引用,有两种情况:其一是说该对象是静态对象,即在引用该对象的属性或方法时不需要为它创建实例;而另一种对象则在引用它的对象或方法是必须为它创建一个实例,即该对象是动态对象。对JavaScript内部对象的引用,以是紧紧围绕着它的属性与方法进行的。因而明确对象的静动性对于掌握和理解JavaScript内...
标签: Web开发
location 地址对象 它描述的是某一个窗口对象所打开的地址。要表示当前窗口的地址,只需要使用location就行了;若要表示某一个窗口的地址,就使用窗口对象.location。先前写了一片用window.location.href实现刷新另个框架页面 ,特此我看了一下locaiton的详细用法,对此有点改进,具体如下:   注意:属于不同协议或不同主机的两...
标签: Web开发
1)使用构造函数创建对象的实例 在JAVASCRIPT中构造函数和其它面向对象的语言一样,不可以直接调用,在用 new 关键字创建一个对象时自动的调用. 以下是JAVASCRIPT中使用构造函数的新示例。 var myObject = new Object(); // 创建没有属性的通用对象。var myBirthday = new Date(1961, 5, 10); // 创建一个 Date 对象。var myCa...

经验教程

236

收藏

44
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部