js编程艺术

最好的位置

最好的位置是html的最后,</body>之前,这样可以更快的加载页面。

解释型程序

不需要编译器,需要解释器,没有解释器就无法执行。

区别

编译型程序,如有错误在编译阶段就能发现,而解释性只能执行到有关代码才能发现。

编译型语言汪汪速度快,可移植性好,但是学习比较复杂。

javascript优点之一是容易入门。

==

全等比较符不仅比较值,也比较类型

!=也是如此

DOM

D

document(文档)

O

object(对象)

M

model(模型)

节点

  • 元素节点
  • 文本节点
  • 属性节点

获取元素

分别通过ID,标签名字,类名获取

getElementById

id的值必须放到单引号或者双引号里面;

getElementsByTagName

允许把一个通配符作为他的参数

getElementsByClassName

指定多个类名空格隔开

getAttribute

此方法不能通过document对象调用,只能通过元素节点对象调用

if

if(something) = if(someting != null)

setAttribute

修改不会反映在源码中,源于DOM工作模式:先加载文档静态内容,在动态刷新,动态刷新不影响静态内容,这也是DOM的威力,刷新页面内容却不在浏览器刷新。

事件处理函数工作机制

如果某个元素添加处理函数后,一旦事件发生,相应的js代码就会执行,被调用的js返回一个值,这个值将被传递给那个事件处理函数。

childNodes

获取任何一个元素的子元素,是一个包含这个元素全部子元素的数组。
childNodes 属性返回所有类型的节点,不仅仅是元素节点,事实上每一样东西都是节点,甚至空格,换行符都会被解释为节点。

window.onload

页面加载时侯调用

nodeType

元素节点:1
属性节点:2
文本节点:3

nodeValue

改变一个文本节点的值

addLoadEvent