js简介
一、js实现
js的实现由三个部分组成:
① 核心(ECMAScript)
②文档对象模型(DOM)
③浏览器对象模型(BOM)
二、在HTML中使用js
2.1、script元素
2.1.1.属性值
常用的属性有:src,type(默认值为text/javascript);
其他属性:async:(异步脚本)表示应该立即下载的脚本,但不妨碍页面的其他操作,且仅对外部文件有效
charset:通过src属性指定的代码的字符集,多数浏览器忽略它的值
defer:(延迟脚本)表示脚本可以延迟到文档完全被解析和显示之后再执行,且仅对外部文件有效
2.1.2使用方式
①直接在页面中嵌入js代码
<script type="texr/javascript">
function sayHi(){
alert("Hi!");
}
</script>
注意:在使用此方法时,不要再代码中的任何地方出现 </script>
字符串。
(解决方式<\/script>
)
②包含外部js文件
此方法中src属性是必须的,用来指向外部的js文件的链接,并将此文件加载到当前页面中
<script type="text/javascript" src="example.js"></script>
在XHTML中可以直接省略</script>
标签,但在HTML中则不可以。
script
标签的强大之处在于src可以加载跨域的脚本,但你所加载的域必须值得信任,防止有恶意代码。
注意:此方法中script
标签中不可以有其他的js代码,否则只加载链入的脚本文件,而内部的js则被忽略
- 加载script时,只要没有async和defer属性,浏览器都会按照代码顺序依次进行解析
2.1.3标签所在位置
一般情况会把script标签放在body中页面内容的后面,来防止加载页面出现一定的延迟(默认加载方式是先执行完script再加载下面的内容)
2.1.4延迟脚本(defer)
当在<script>
标签中定义了defer属性,则浏览器会认为是先解析整个页面,完毕后执行,
2.1.5异步脚本(async)
作用相同于defer,但是在页面中定义多个async时,不能保证是按先后顺序执行。