JavaScript高质量代码之常用代码优化写法
本文保存一些常用JavaScript代码的高质量写法,以便查阅和进步。
[1]. 使用“[ ]“方括号访问属性
如果使用”.”号,属性名是硬代码,不能在执行时改变。如果使用”[ ]“方括号,属性名是一个通过计算属性名而来的字符串。 如果你有 “value1″, “value2″, 和 “value3″这样的属性,你可以通过定义一个变量 i=1 来动态访问你需要的属性:
本文保存一些常用JavaScript代码的高质量写法,以便查阅和进步。
如果使用”.”号,属性名是硬代码,不能在执行时改变。如果使用”[ ]“方括号,属性名是一个通过计算属性名而来的字符串。 如果你有 “value1″, “value2″, 和 “value3″这样的属性,你可以通过定义一个变量 i=1 来动态访问你需要的属性:
本文简单谈一谈JavaScript里面的this关键字。这个关键字是理解JavaScript面向对象编程的重要基础。
this表示当前对象,如果在全局作用范围内使用this,则指代当前页面对象window; 如果在函数中使用this,则this指代什么是根据运行时此函数在什么对象上被调用。 还可以使用apply和call两个全局方法来改变函数中this的具体指向。
废话少说,先上第一段代码:1
2
3
4
5
6
7var tt = 'aa';
function test(){
alert(tt);
var tt = 'dd';
alert(tt);
}
test();
有了事件冒泡和事件捕获的基础,事件委托应该是比较容易学习了。什么是事件委托?对“事件处理程序过多”问题的解决方案就是事件委托。
事件委托利用了事件冒泡,只定义一个事件处理程序,就可以管理某一类型的所有事件。例如,click事件会冒泡到document层次,也就是说,我们可以为整个页面指定一个onclick事件处理程序,而不必给每个可单击的元素分别添加事件处理程序。下面我们具体举个例子来解释如何使用这个特性:
上一篇文章已经谈了事件冒泡和捕获的机制,这一篇我们说下这两个机制的具体应用,在这之前我们需要先了解一个东西:HTML DOM Event 对象。
正如w3school里面讲的,Event 对象代表事件的状态,比如事件发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态等等。
事件通常与函数结合使用,函数在事件发生后被执行。
下面列出了DOM2 事件标准定义的属性