JavaScript高级程序设计红宝书学习笔记第二章在HTML中使用JavaScript

第二章在HTML中使用JavaScript

本章内容:

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

2.1

<__script>__定义了6个属性,其中一些已经用不上了:
  • async:可选。表示立即下载脚本,但是不妨碍页面加载其他内容,是一个异步的操作。且只对外部脚本文件有效。

  • charset:可选。表示通过src属性指定的代码的字符集,大多数浏览器会忽略他的值,所以现在很少人写。弃用

  • defer:可选。表示脚本可以延迟到文档完全被解析和显示之后在执行。即先加载页面内容再加载外部脚本文件。是一个同步的操作。且只对外部脚本文件有效,

  • language:已废弃。原本用于区分JavaScript、JavaScript1.2、vbscript。

  • src:可选。表示包含要执行代码的外部文件。

  • type:可选。可看成是language的替代品,便是编写代码使用的脚本语言的内容类型(也称MIME类型)。一般使用text/JavaScript。默认值也是这个。

关于<script>需要注意一下几点:
  • 使用<script>嵌入JavaScript代码时,只需指定type属性(text/JavaScript)。

  • 包含在<script>元素内部的代码将被从上至下依次解释,也就是说如果代码放在里,页面其余内容不会被浏览器解释加载显示,直到加载完<script>代码。

  • 在使用<script>嵌入JavaScript代码时,记住不要再代码中的任何地方出现字符串,如果非要用到的话,就用反斜杠解决"</script>",否则浏览器遇到就认为JavaScript代码已经结束。

  • 在解析外部的js文件(包括下载该文件)时,页面的处理也会暂停。外部js文件必须以.js为后缀为扩展名。因为服务器通常需要看扩展名决定响应应用那种MIME类型。

  • src引入外部脚本文件时,<script></script>之间不能嵌入JavaScript代码,因为嵌入的代码会被忽略。

  • 无论<script>如何包含代码,只要不出席那defer和async属性,浏览器就会按照<script>元素在页面中的先后顺序对他们依次进行解析。


2.1.1 标签的位置

只有一点:就是<script>嵌入JavaScript脚本文件放在之前,所有里面的页面节点之后.

因为如果所有<script>嵌入的js脚本文件都放在,会导致,意味着必须等到全部 JavaScript代码都被下载、 解析和执行完成以后,才能开始呈现页面的内容,这样会出现显示的延迟.<script>嵌入的js脚本文件都放在,会导致,意味着必须等到全部 JavaScript代码都被下载、 解析和执行完成以后,才能开始呈现页面的内容,这样会出现显示的延迟。


2.1.2 延迟脚本

也只有一点就是:

defer属性:

虽然我们把<script>元素放在了文档的元素中,但其中包含的脚本将延迟 到浏览器遇到标签后再执行。但是延迟脚本不一定会按照顺序执行。且只适用外部脚本文件。


2.1.3 异步脚本

也只有一点就是:

async属性:

也只适用外部脚本文件,async属性的目的不让页面等待脚本的下载和执行,从而异步加载页面其他内容。但是强调,建议异步脚本不要在加载期间修改 DOM。

2.1.4 在XHTML中的用法(弃用,不写笔记了,跳过)
2.1.5 不推荐的语法,现在没有不兼容JavaScript的浏览器了,所以也不写笔记了。



2.2 嵌入代码与外部文件

支持使用引入外部文件的优点:
  1. 可维护性:JavaScript在同一个文件夹中,维护起来相比在html中轻松多了。而且开发人员因此也能够在不触及 HTML标记的情况下, 集中精力编辑 JavaScript代码。
  2. 可缓存:浏览器能够根据具体设置缓存链接的所有外部JavaScript文件,如果两个页面都使用同一个文件,那么这个文件只需下载一次。因此,终结果就是能够加快页面加载的速度。


2.3 文档模式(待补充)

标准模式与怪异模式
1)盒模型:
IE下标准模式为:content+padding+border+margin。怪异模式下为:content+margin(padding,border包含在content宽高中)
2)怪异模式中IE6/7/8都不识别!
3)设置行内元素宽高,标准模式下不生效,怪异模式下生效
4)margin:0 auto,在标准模式下会水平居中,怪异模式下不会。



2.4 元素

目的时早期浏览器不支持JavaScript,让页面平稳的退化。当满足下面两个条件时元素内容才会显示:

  1. 浏览器不支持脚本;
  2. 浏览器支持脚本,但脚本会被禁用;
    <body>
    <noscript>
    浏览器不支持JavaScript脚本或者JavaScript脚本被禁用,请手动打开!
    </noscript>
    </body>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值