Javascript 实现
javascript : 为了与网页交互而设计的语言
组成部分
1. ECMAScript
语言标准的规定,包括:
语法 + 类型 + 语句 + 关键字 + 保留字 + 操作符 + 对象
javascript 实现了 ECMAScript
2. DOM
文档对象模型 document object model
提供访问和操作网页内容的方法和接口
针对 xml 但是经过扩展应用于HTML的应用程序编程接口 application programming interface
DOM 把整个页面映射为一个多层节点结构
DOM级别
DOM1
- DOM核心
如何映射基于XML的文档结构 - DOM HTML
针对HTML的对象和方法
DOM2
- DOM视图
应用不同文件(CSS等)后视图的接口 - DOM事件
- DOM样式
- DOM遍历和范围
DOM3
- 统一加载和保存文档方式
- 验证文档
3. BOM
处理浏览器窗口和框架
提供与浏览器交互的方法和接口
- 弹出新窗口
- 关闭、缩放、移动窗口
- 提供浏览器详细信息的navigator对象
- 提供浏览器加载页面详细信息的location对象
- 提供用户显示器分辨率详细信息的screen对象
- 支持cookies
- 自定义对象
在HTML中使用JavaScript
HTML支持以两种方式嵌入JavaScript的脚本:直接
在页面中嵌入
脚本,或者,引用外部
的JavaScript脚本。两种方式都需要使用<script>
元素。
页面中嵌入JavaScript
直接嵌入时,需要指定<script>
元素的type属性。
<script type = "text/javascript">
function helloWorld(){
alter("Hello World!");
}
</script>
type属性
属性的默认值为text/javascript,所以,在以上代码中type属性可以省略。在非IE的浏览器中此字段值还可为application/javascript。
浏览器中解释器按照从上往下
的顺序依次解释函数的定义。在所有的<script>
元素内的代码解释完毕后,才会加载并显示页面的实际内容。
注意在<script>
元素内部不可以出现字符串</script>
,浏览器会将其僵硬地理解为脚本结束的标志。需要使用转义字符 " \ " 提醒一下它。
<script type = "text/javascript">
function helloWorld(){
alter("<\/script>");
}
</script>
引入外部JavaScript文件
在引入外部脚本文件时,需要指定<script>
元素的src属性,标识脚本文件的路径和名称。
<script src = "demo.js"></script>
和直接嵌入类似,脚本文件的执行也在加载页面实际内容之前。所以下载和解析外部 js 文件时,页面的处理暂时停止。
但是在引用外部脚本时,可以使用async和defer两个属性来指定文件的加载顺序。
- async
立即下载该脚本 - defer
执行延迟到文档完全被解析并显示之后
tips:浏览器不会检查外部文件的 js 扩展名
当<script>
元素中即使用src属性引入了外部 js 文件,又在标签之间包含 js 代码时,外部引入的代码将会覆盖标签中嵌入的代码。
src属性特殊的一点是,它可以引用来自外部域的 js 文件。和<img>
元素的src属性类似,它可以指向当前html页面所在域之外的某个域的完整URL。
<script src = "http://www.someweb.com/demo.js"></script>