加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

领略delete:javascript中的一些细节

发布时间:2018-09-06 22:32:13 所属栏目:创业 来源:站长网
导读:在javascript中,我们偶然辰要行使delete删除工具。可是,对付delete的一些细节我们未必尽知。昨天,看到kangax说明delete的文章,获益匪浅。本文将文章的英华部门翻译出来,与列位分享。 道理 代码范例 执行上下文 激活工具/可变工具 属性特征 内置工具和

在javascript中,我们偶然辰要行使delete删除工具。可是,对付delete的一些细节我们未必尽知。昨天,看到kangax说明delete的文章,获益匪浅。本文将文章的英华部门翻译出来,与列位分享。

  1. 道理
    1. 代码范例
    2. 执行上下文
    3. 激活工具/可变工具
    4. 属性特征
    5. 内置工具和DontDelete
    6. 未声明的赋值
  2. Firebug 狐疑
    1. 通过eval删除变量
  3. 赏识器兼容性
    1. Gecko DontDelete bug
  4. IE bugs
  5. 误区
  6. ‘delete’和宿主工具
  7. ES5严酷模式
  8. 总结

道理

为什么我们能删除一个工具的属性?

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

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

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

可能云云声明的函数:

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

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

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

代码范例

在ECMAScript中有三种范例的可执行代码:全局代码(Global code)、函数代码(Function code)和Eval code。这些范例有那么点自我描写,但这里照旧作一个简短的概述:

  1. 当一段源代码正文被视为措施时,它在全局浸染域中执行,被当玉成局代码(Global code)。在一个赏识器情形中,SCRIPT元素中的内容凡是被看成措施来理会,因此,它被看成全局代码来评估。
  2. 在一个函数内部直接执行的任何代码,很明明被看成函数代码(Function code)。在赏识器红中变乱属性的内容(如:<p onclick="...">)凡是被看成函数代码(Function code)来理会;
  3. 最后,提供应内置函数eval()的文本被看成Eval 代码(Eval code)来理会。我们很快会看到这种范例很非凡。

    (编辑:河北网)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读