2.1 script元素元素
1.结束之前任何地方都不要出现
2.引用外部js文件 用到src属性 * js文件的扩展名不是必须的 php jsp可以动态生成js代码 但是要确保服务器能不能返回正确的mime类型。
3.会优先执行外部文件而不是嵌入文件。
4元素都放在head中 等js全部被执行时在呈现内容 会出现延迟,所以要放在body内容的后面。(这是最佳选择 因为defer属性会被很多浏览器忽略掉)
5.script元素中设置defer属性 相当于告诉浏览器立即下载但延迟执行, 最好只有一个延迟脚本。
6.异步脚本:async属性 ,不让页面等待两个脚本下载和执行 从而异步(不同步)加载页面其他内容,建议异步脚本不要在加载期间修改dom。
7.在XML中 < >这种符号不可以直接用 容易被解读为标签 所以要用<等 还可以在script内的函数前加< ! [CDATA[ *** ]] 对于不兼容cdata的浏览器可以注释掉。
8.外部文件有点:可维护 可缓存 适应未来
9.文档模式:混杂模式和标准模式(通过doctype实现的 大概了解就行)
10.<noscript> 当浏览器禁用脚本或者浏览器不支持脚本的情况下才会显示其中内容
小结:
js外部文件可以是统一服务器上的文件也可以是其他任何域中的文件
script元素会按顺序依次被解析 不使用defer或者async属性时 先解析前面内容在解析后面的
defer属性会在内容呈现后再执行脚本 浏览器会先解析不使用defer属性的内容
asynu属性不能保证异步脚本按他们的顺序执行