2.1<script>元素
6个属性(有废弃的不写了):
async:可选。表示应该立即下载脚本,但不妨碍页面中的其他操作。仅对外部脚本文件有效;
charest:src指定字符集编码,很少有人用了;
defer: 可选。表示脚本可以延迟到文档完全被解析和显示之后再执行,仅对外部脚本文件有效;
type:text/javascript
使用方式:两种:直接在页面中嵌入;外部包含。
直接在页面中嵌入:js代码从上至下被依次解释。再解释器对<script>元素内部的所有代码求值完毕以前,页面中的其余内ring都不会被浏览器加载或显示。注意不要载任何地方出现</script>,一定要用,则使用<\/script>.
外部包含:注意在HTML中,使用</script>结尾,不可使用</>结尾。同是不可在中间包含js代码,不会执行嵌入代码。
解析顺序:如果不包含async与defer,就按顺序执行<script>文件。
2.1.1 标签的位置
传统放在<head>中,目的把所有外部文件的引用都放在相同的位置。但这样的话,必须等到全部的js代码都被下载解析和执行完成以后,才开始呈现页面的内容(浏览器在遇到<body>标签时才开始呈现内容),这样会导致浏览器在呈现页面时出现明显的延迟。所以一般都把全部的js引用放在<body>元素中页面内容的后面。
2.1.2 延迟脚本
defer属性:表明脚本在执行时不会影响页面的构造,即脚本会被延迟到整个页面解析完后再运行。浏览器立即下载,但延迟执行。按照先后顺序执行。
使用<script defer="defer">
2.1.3异步脚本
与defer不同,不保证先后顺序。指定的目的是不让页面等待脚本下载和执行,从而异步加载其他内容。
使用:<scriot async>
2.2嵌入代码与外部文件
最好使用外部文件,优点:可维护性,可缓存:可加快界面加载速度,适应未来。
2.3文档模式
主要影响CSS内容的呈现。
混杂模式(quirks mode):会让IE的行为与IE5相同。
标准模式(standard mode):让IE的行为更接近标准行为。<!DOCTYPE html>
2.4<noscript>元素
浏览器不支持脚本;浏览器支持脚本,但脚本被禁用时,会显示该元素中的内容。