JavaScript易忘笔记

  • if you assign a value to variable that has not yet been declared, the variable will automatically be declared as a GLOBAL variable.

       This statement: carname="Volvo";will declare the variable carname as a global variable , even if it is executed inside a function.(http://w3schools.com/js/js_functions.asp)

      example: alert("HellonHow are you?"); (http://w3schools.com/js/js_popup.asp)

深入理解Javascript之this关键字

Javascript是一种很灵活的语言, 而This关键字又是灵活中的灵活, 但是因为它的灵活, 也注定了它的难用.

以前我用this的时候, 都会觉得不踏实, 老是担心它不知道怎么地就会指到另外的什么地方.

其实, 这都是因为, 我们对它的不了解.

刚好最近再给百度学院做《Javascript高级-作用域/原型链》的ppt, 而swit1983网友也刚好提这个问题, 索性就把这部分内容独立总结出来, 与大家分享. 继续阅读“深入理解Javascript之this关键字”

bgcolor/bgColor/backgroundColor/background/background-color区别

bgcolor 是HTML标签的属性,不区分大小写;

bgColor是JScript语法,区分大小写;

backgroundColor 是JavaScript语法,区分大小写;

background 是CSS样式属性,不区分大小写;

background-color 是CSS样式属性,不区分大小写;

以上特性均可更改指定元素的背景色,其中,background在更改背景色的同时也可更改背景图片。

JavaScript 和 事件(事件注册)

Internet Explorer 的事件注册模型

Internet Explorer 中有两个分别用来注册事件处理程序和取消注册事件处理程序的方法,即 attachEvent() 和 detachEvent() 方法:

若要删除注册,可以使用以下代码:

 这些方法是IE浏览器专有的,只能在IE浏览器下工作。

 

W3C DOM 事件注册模型

W3C DOM 方法则使用3个参数事件名称函数名称和一个布尔值(true 或 false)。如果事件注册是在事件捕获阶段使用,则布尔值被设置为true,如果事件注册是在事件冒泡阶段使用,则布尔值被设置为false。

这里的事件侦听代码与传统事件注册代码等价:

myElement.onclick = startNow;

在传统的事件注册中,事件注册被添加在事件的冒泡阶段

若要删除事件侦听程序,可以使用以下代码: myElement.removeEventListener('click', startNow, false);

 

文章摘选自《Ajax 入门经典》(Beginning Ajax)Chris Ullman, Lucinda Dykes 著   徐璐 译   清华大学出版社

JavaScript 和 事件(事件模型)

事件模型

事件一直是脚本编写中比较复杂的一部分,因为事件模型在不同的浏览器中会有所不同。事件模型定义了事件的处理方式和调用哪些对象。目前,主要的不同在于IE 模型和W3C DOM 事件模型间事件流的不同(在Mozilla-based 浏览器中使用的事件模型与W3C DOM模型相似)。

处理事件流的技术主要有两种。在事件冒泡(event bubbling)技术中,事件从最具体(most-specific)的目标到最不具体(least-specific)的目标触发。事件目标(event target)是事件最初发生的位置。在事件捕获(event capturing)技术中,事件从最不具体的目标到最具体的目标触发。

下面的示例是最好的例证:

<div>  <p>Event order </p>  </div>

如上所示,子元素(p)嵌套在父元素(div)中,这两个元素都有相同的事件处理程序(onmouseover)。如果用户鼠标滑过该子元素,就会为这两个元素创建mouseover 事件。但是首先触发哪个事件呢?

在事件捕获技术中,父元素(div)的mouseover 事件首先触发。在事件冒泡技术中,子元素(p)的mouseover事件首先触发。

      Internet Explorer(包括IE 7)使用的是事件冒泡技术。W3C DOM模型则包括事件捕获和事件冒泡两种技术。

文章摘选自《Ajax 入门经典》(Beginning Ajax)Chris Ullman, Lucinda Dykes 著   徐璐 译   清华大学出版社