回顾学习JS(第二章学习随笔)

回顾学习JS(第二章学习随笔第一篇)

在HTML中使用JavaScript

1、使用script元素

1.src 可选 。标识包含要执行的外部代码文件

<script src="www.baidu.com"></script>

2.language 已经废弃。原来用于标识编写代码使用的脚本语言。现在大多数浏览器会忽略这个属性,所以没有必要使用了。

3.charset 可选。 表示用过src属性指定的代码的字符集。大多数浏览器会忽略这个值。因此这个属性很少人使用

4.type 可选。可以看成是language的替代属性;标识编写代码时用的脚本语言的内容类型(MIME类型)

<script type="text/javascript"></script>
<script type="text/ecmascript"></script>

这两种写法已经不推荐使用,因为服务器在传送JavaScript文件时使用的MIME类型通常是application/x-javascript,在type中设置这个值却可能会被忽略。
考虑到约定俗成和最大限度的浏览器兼容行,目前type属性的值已经还是"text/javascript“。不过不是必需的,即使没有指定这个属性,器默认值仍然是"text/javascript“。

5.async 可选。表示应该立即下载这个脚本。但不妨碍页面中的其他操作。只适用于外部引用的脚本。

<script type="text/javascript" async src="test.js"></script>
<script type="text/ecmascript" async src="test.js"></script>

他们会同时执行,但不保证执行的先后顺序。(注意: 因为不能保证先后执行顺序,所以要确保两者之间不会互相有依赖。
async属性的目的是不让页面等待两个脚本下载和执行,从而一部加载页面其他内容,以你。建议异步脚本不要在加载期间修改DOM。

6.defer 可选。 标识脚本可以延迟到文档完全被解析和显示之后在执行。只对外部脚本文件有效。

<script type="text/javascript" defer="defer " src="test.js"></script>
<script type="text/ecmascript" defer="defer" async src="test.js"></script>

会在所有元素加载完毕后在加载。(注意规定按先后顺序执行,但在现实中不一定按顺序执行,所以建议只包含一个延时执行脚本)

2、HTML和XHTML

HTML和XML的区别在于,XML代码规则要比HTML严格得多,而且直接影响能否在嵌入JavaScript代码时使用

<script>
function compare(a,b) {
 if(a < b) {
    alear("A" is less than "B")
 }
}
</script>

以上代码在HTML中是有效的,但是在XHTML中是无效的,因为在这里的比较语句中 “<” 会在XHTML中被当做开始一个新标签来解析,但是作为标签来讲小于号后面不能跟空格,就会导致语法错误。
避免在XHTML中出现的类似错误语法方法有两个,一是用相应的HTML实体"&lt"来替代。但这种方法会导致代码不好理解,所以才用另一种方法,使用CData来包含JavaScript代码

<script><![CDATA[
function compare(a,b) {
 if(a < b) {
    alear("A" is less than "B")
 }
}
]]</script>

这种方法在所有的现代浏览器中都可以正常使用,也能用过XHTML验证,而且对XHTML之前的浏览器也会平稳退化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值