《JavaScript 高级程序设计(第3版)》学习笔记:第2章在HTML中使用JavaScript

本章内容:

 使用< script >元素
 嵌入脚本与外部脚本
 文档模式对 JavaScript 的影响
 考虑禁用 JavaScript 的场景

1、< script >元素定义了6个属性: 

 - async:可选。表示应该立即下载脚本,但不应妨碍页面中的其他操作,比如下载其他资源或等待加载其他脚本。只对外部脚本文件有效。
 - charset:可选。表示通过 src 属性指定的代码的字符集。由于大多数浏览器会忽略它的值,因此这个属性很少有人用。
 - defer:可选。表示脚本可以延迟到文档完全被解析和显示之后再执行。只对外部脚本文件有效。IE7 及更早版本对嵌入脚本也支持这个属性。
 - language:已废弃。原来用于表示编写代码使用的脚本语言(如 JavaScript、JavaScript1.2或 VBScript)。大多数浏览器会忽略这个属性,因此也没有必要再用了。
 - src:可选。表示包含要执行代码的外部文件。
 - type:可选。可以看成是 language 的替代属性;表示编写代码使用的脚本语言的内容类型(也称为 MIME 类型)。默认为text/javascript。
 
2、嵌入脚本与外部脚本
 在html中使用js有两种:直接在 页面嵌入js代码外部 js文件 。需要注意的是两种方法在解析js代码时(包括下载外部js文件),页面的处理会暂时停止。

  • 在页面嵌入js代码 (script元素及type属性):
 

  注:代码中遇到<\script>会发生错误,解决办法为转义字符\。

"); //错误
 } 
 

 
  • 外部js文件(script元素及type、src属性)

 如:  

 注:1)在XHTML中可以使用 标签之间再包含额外的 JavaScript 代码。如果包含了嵌入的代码,则只会下载并执行外部脚本文件,嵌入的代码会被忽略。

       3)通过 
  
  

3.2 延迟脚本

  使用defer 属性。这个属性的用途是表明脚本在执行时不会影响页面的构造。也就是说,脚本会被延迟到整个页面都解析完毕后再运行。因此,在 
  
  

注:

1)其中js包含的脚本将延迟到浏览器遇到标签后再执行。

2)规范要求的是执行顺序与先后出现次序一致(现实中不一定)。

3)defer属性只作用于外部脚本文件。

3.3 异步脚本

  使用async 属性。这个属性与 defer 属性类似,都用于改变处理脚本的行为。同样与 defer 类似,async 只适用于外部脚本文件,并告诉浏览器立即下载文件。但与 defer不同的是,标记为 async 的脚本并不保证按照指定它们的先后顺序执行

  指定 async 属性的目的是不让页面等待两个脚本下载和执行,从而异步加载页面其他内容。为此,建议异步脚本不要在加载期间修改 DOM。

3.4

包含在

  •  浏览器不支持脚本; 
  •  浏览器支持脚本,但脚本被禁用。 

 符合上述任何一个条件,浏览器都会显示

 
  
 Example HTML Page 
  
  
  
  
 

 

小结

《JavaScript 高级程序设计(第3版)》学习笔记:第2章在HTML中使用JavaScript_第1张图片

 

你可能感兴趣的:(《JavaScript 高级程序设计(第3版)》学习笔记:第2章在HTML中使用JavaScript)