JavaScript高质量代码之常用代码优化写法

本文保存一些常用JavaScript代码的高质量写法,以便查阅和进步。

[1]. 使用“[ ]“方括号访问属性

如果使用”.”号,属性名是硬代码,不能在执行时改变。如果使用”[ ]“方括号,属性名是一个通过计算属性名而来的字符串。 如果你有 “value1″, “value2″, 和 “value3″这样的属性,你可以通过定义一个变量 i=1 来动态访问你需要的属性:

JavaScript之this关键字

本文简单谈一谈JavaScript里面的this关键字。这个关键字是理解JavaScript面向对象编程的重要基础。

this表示当前对象,如果在全局作用范围内使用this,则指代当前页面对象window; 如果在函数中使用this,则this指代什么是根据运行时此函数在什么对象上被调用。 还可以使用applycall两个全局方法来改变函数中this的具体指向。

Javascript事件事件委托(事件代理)

事件委托(事件代理)

有了事件冒泡和事件捕获的基础,事件委托应该是比较容易学习了。什么是事件委托?对“事件处理程序过多”问题的解决方案就是事件委托。
事件委托利用了事件冒泡,只定义一个事件处理程序,就可以管理某一类型的所有事件。例如,click事件会冒泡到document层次,也就是说,我们可以为整个页面指定一个onclick事件处理程序,而不必给每个可单击的元素分别添加事件处理程序。下面我们具体举个例子来解释如何使用这个特性:

Javascript事件冒泡和捕获的应用

前言

上一篇文章已经谈了事件冒泡和捕获的机制,这一篇我们说下这两个机制的具体应用,在这之前我们需要先了解一个东西:HTML DOM Event 对象
正如w3school里面讲的,Event 对象代表事件的状态,比如事件发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态等等。
事件通常与函数结合使用,函数在事件发生后被执行。

标准Event的属性

下面列出了DOM2 事件标准定义的属性

  • bubbles:返回布尔值,指示事件是否是起泡事件类型;
  • cancelable:返回布尔值,指示事件是否可拥可取消的默认动作;
  • currentTarget:返回其事件监听器触发该事件的元素;
  • eventPhase:返回事件传播的当前阶段;
  • target:返回触发此事件的元素(事件的目标节点);
  • timeStamp:返回事件生成的日期和时间;
  • type:返回当前Event 对象表示的事件的名称。