红宝书《JavaScript高级程序设计》学习笔记(二)在HTML中使用JavaScript

<script>元素

defer属性:脚本延迟到文档被完全解析和显示之后再执行。

type属性:默认为text/javascript

<script>元素内的代码,从上到下以此解释,在<script>内嵌代码时,不能在代码的任何地方出现“</script>”字符串,因为按照浏览器解析规则,当遇到这串时,会认为那是结束的</script>标签,如果有必要添加该字符串,要添加上转义字符“<\/script>”就能正常显示了。

如果在XHTML中,</script>可以省略,但在HTML中不可以。

JavaScript文件中带有js扩展名,但这个扩展名不是必须的。这样一来,使用JSP、PHP动态生成js代码便成为了可能。但是服务器端通常还是需要看扩展名来决定使用哪种MIME类型,如果不使用ks扩展名,请确保返回正确但MIME类型。

如果同时<script>标签内引入代码和标签外src代码,则只会下载执行外部脚本文件,嵌入但代码会被忽略。

只要不存在defer和async属性,浏览器都会按照<script>出现但先后顺序依次加载。


现代Web应用程序一般都把全部JavaScript引用放到<body>元素中页面内容的后面。

defer属性相当于告诉浏览器立即下载,不过把延迟脚本放在页面底部仍然是最佳选择。

在XHTML文档中,要把defer的属性设置为defer=‘defer’

async属性相当于异步加载。

在XHTML中,要把async属性设置为async='async';


编写XHTML代码规则要比编写HTML严格得多,比如嵌入XHTML中的<script>元素内的js代码中不能有大于号(>)和小于号(<),因为会被当作标签解析。如果需要使用这些“有争议的符号”,可以用HTML实体(&lt;)替换所有的小于号;另外第二个方法是使用CData片段来包含JavaScript代码<![CDTATA[……]]>片段中的代码不会被解析。

将页面中的MIME类型设置为application/xhtml+xml的情况下会触发XHTML模式。


一般认为最好的做法还是尽可能使用外部文件来包含JavaScript代码。因为有可维护性、可缓存、适应未来的优点。

文档模式包括混杂模式(quirks mode)标准模式(standards mode),使用文档类型(doctype)切换实现。

如果文档在开始处没有发现文档类型声明,则所有浏览器都会默认开启混杂模式。

<noscript>标签用于浏览器不支持脚本或被禁用的情况。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值