理顺 JavaScript (3) - 把 JavaScript 嵌入网页的方法    


JS 代码可以在 head 区或 body 区, 但有些区别.
JS 随网页的其他元素顺序载入, 载入后先经过一次语法检查, 然后顺序执行;
如果 JS 中不包含 document.write 或 document.writeln 语句, 写在 head 区比较好, 会先执行. 演示区别:

理顺 JavaScript (3) - 把 JavaScript 嵌入网页的方法_JavaScript



网页中可以有多个 JS 代码块, 代码块的写法是:

(目前常用的)

(较新的规定, 旧浏览器未必支持)

(已淘汰的方法, 其中指定的版本号也基本没被支持过)

其实目前的客户端脚本也只有 JavaScript 和 VBScript, 好像浏览器会先假定是 JS, 所以可简写为:



但如果网页提前指定了页面的默认脚本, 如:

如果默认脚本不一致, 那给 script 指定 type 就是必要的了.

使用更多的还是链接外部脚本, 这样可以实现代码与页面分离:




JS 还可以直接写在网页标签所支持的事件中, 也可以写在标签 A 的 href 和 标签 FORM 的 action 属性中;
另外, 标签事件中的 JS 代码可以省略 "javascript:" 的前缀. 举例:

理顺 JavaScript (3) - 把 JavaScript 嵌入网页的方法_JavaScript_02



JS 代码一般是写在函数里等待调用, 调用时可用 return 关键字也可省略;
在 href 和 action 属性中调用时还是要冠上 "JavaScript:". 演示:

理顺 JavaScript (3) - 把 JavaScript 嵌入网页的方法_JavaScript_03



也可以将这些代码分离, 这在调用外部 js 时特别需要, 但这要注意顺序, 在使用对象时得确保对象已经存在. 举例:

理顺 JavaScript (3) - 把 JavaScript 嵌入网页的方法_JavaScript_04



从上个例子中看出, 如果在 JS 代码中使用网页中的对象, 必须要等对象建立以后, 这有点不方便.
如果在


所谓最后执行, 是在所有网页代码载入完毕之后, 但并不是网页所有元素(譬如 src 指向的图片)都载入完成之后;
其最迟也会发生在 onload 事件之前.
另外, 识别网页中的元素可以用 ID 或 name 属性, 以后会有更多手段. 示例:

理顺 JavaScript (3) - 把 JavaScript 嵌入网页的方法_JavaScript_05