javaScript高级程序设计学习笔记(2)

在html中使用JavaScript
1.<script>元素
(1)async.可选。表示应该立即下载脚本,但不应妨碍页面中的其它操作,比如下载其他资源或等待加载其他脚本。
(2)charset。可选。表示通过src属性指定的代码的字符集。浏览器会忽略它,比较少用。
(3)defer.可选。表示脚本可以延迟到文档完全被解析和显示之后执行。只对外部脚本文件有效。
(4)language.已废弃。
(5)src.可选。表示包含要执行代码的外部文件。
(6)type.可选。表示编写代码使用的脚本语言的内容类型(MIME).默认text/javascript。

注意:带有src属性的<script>元素中不应该在<script>和</script>标签之间再包含额外的js代码。如果包含,则只会下载并执行外部脚本文件,嵌入的代码会被忽略。


a.标签位置:
一般是放在head中,但引用比较多时,意味着必须等到全部JavaScript 代码都被下载、解析和执行完成以后,才能开始呈现页面的内容,导致浏览器在呈现页面时出现明显的延迟,为了避免这个问题,现代Web 应用程序一般都把全部JavaScript 引用放在<body>元素中页面内容的后面。
<!DOCTYPE html>
<html>
<head>
<title>Example HTML Page</title>
</head>
<body>
<!-- 这里放内容 -->
<script type="text/javascript" src="example1.js"></script>
<script type="text/javascript" src="example2.js"></script>
</body>

</html>


b.延迟脚本:
使用了defer属性,相当于告诉浏览器立即下载,但延迟执行,即脚本会被延迟到整个页面都解析完毕后再运行。
<!DOCTYPE html>
<html>
<head>
<title>Example HTML Page</title>
<script type="text/javascript" defer="defer" src="example1.js"></script>
<script type="text/javascript" defer="defer" src="example2.js"></script>
</head>
<body>
<!-- 这里放内容 -->
</body>
</html>

注意:把延迟脚本放在页面底部仍然是最佳选择。在XHTML 文档中,要把defer 属性设置为defer="defer"。


c.异步脚本
使用了async属性,与defer 类似,async 只适用于外部脚本文件,并告诉浏览器立即下载文件。但与defer不同的是,标记为async 的脚本并不保证按照指定它们的先后顺序执行。
<!DOCTYPE html>
<html>
<head>
<title>Example HTML Page</title>
<script type="text/javascript" async src="example1.js"></script>
<script type="text/javascript" async src="example2.js"></script>
</head>
<body>
<!-- 这里放内容 -->
</body>
</html>

注意:异步脚本不要在加载期间修改DOM,异步脚本一定会在页面的load 事件前执行,但可能会在DOMContentLoaded 事件触发之前或之后执行。在XHTML 文档中,要把async 属性设置为async="async"。


2.嵌入代码与外部文件
使用外部文件的优点:
(1)可维护性;
(2)可缓存;

(3)适应未来。


3.文档模式:

混杂模式和标准模式。


4.<noscript>元素:
<html>
<head>
<title>Example HTML Page</title>
<script type="text/javascript" defer="defer" src="example1.js"></script>
<script type="text/javascript" defer="defer" src="example2.js"></script>
</head>
<body>
<noscript>
<p>本页面需要浏览器支持(启用)JavaScript。
</noscript>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值