学习《JavaScript高级程序设计》(一)

javascript简介

javascript的实现由下列三个不同部分组成:

  • 核心:ECMAScript
  • 文档对象模型:DOM
  • 浏览器对象模型:BOM
ECMAScript

文章主要介绍的是ECMA-263,最新的才到ES5。所以省了。因为目前主流的是ES6.
ECMAScript 6 目前基本成为业界标准,它的普及速度比 ES5 要快很多,主要原因是现代浏览器对 ES6 的支持相当迅速,尤其是 Chrome 和 Firefox 浏览器,已经支持 ES6 中绝大多数的特性。

文档对象模型 DOM (Document Object Model)

1、原因:W3C为了保证浏览器的兼容性,规划出来了DOM
2、级别:
DOM1(1998)

  • DOM核心(DOM Core):规定的是如何映射基于XML的文档结构,以简化对文档的访问和操作。
  • DOM HTML:拓展DOM核心添加对HTML的对象和方法。

DOM2

  • 扩充对鼠标和用户界面事件、范围、遍历等细分模块。
  • 通过对象接口增加对CSS的支持。
    • DOM Views:定义了跟踪不同文档的视图接口
    • DOM Events:定义了事件和事件处理的接口
    • DOM Style:定义了基于CSS为元素应用的样式接口

DOM3:

  • 在DOM加载和保存模块中定义,以统一方式加载和保存文档的方法
  • 在DOM验证(DOM Validation)块中定义,验证文档的方法

浏览器对象模型 BOM( Browser Object Model)

  • 弹出新浏览器窗口的功能
  • 移动、缩放和关闭浏览器窗口的功能
  • 提供浏览器详细信息的navigator对象
  • 提供浏览器所加载页面的详细信息的location对象
  • 提供页面显示器分辨率详细信息的screen对象
  • 对cookies的支持
  • 像XMLHttpRequest和IE的ActiveXObject对象。

在HTML中使用JavaScript

</script> 元素的六个属性:

(可选)

  • async:立即下载脚本,但是不应该妨碍页面的其他操作,比如下载其他资源或等待加载其他脚本。只对外部脚本有效。
  • charset:表示通过src属性指定的代码的字符集。
  • defer:表示脚本可以延迟到文档完全被解析和显示之后再执行。只对外部脚本文件有效。
  • language:已废弃。
  • src:表示包含要执行代码的外部文件。src=“url”

(必选)

  • type:表示编写代码使用的脚本语言的内容类型,MIME类型。默认text/javascript,

解析器在对</script>元素内部的所有代码求值完毕以前,页面中的其余代码都不会被浏览器加载显示
带有scr的script标签元素内部不应再有额外的js代码,内部代码会被忽略的。

</script>标签的位置:
  • js在head中,要全部下载、解析、求值,才能显示界面,这样影响性能。
  • 在body中的最后面,能先显示界面,在对js下载、解析、求值。
同步脚本
  <script type="text/javascript" defer="defer" src="example.js"> </script>
 - defer标签可以让js下下载,再去加载页面,在<\/html>之后在运行脚本
- 现实中,多个defer的js脚本,在最后不一定顺序执行,因此最好只有一个延迟脚本。

最佳选择还是把js脚本放在body中的最后面

异步脚本

async

  <script type="text/javascript" async src="example1.js"> </script>
    <script type="text/javascript" async src="example2.js"> </script>

表示当前脚本不必等待其他脚本,也不必阻塞文档的呈现,并不保证先后顺序执行

文档模式

<!DOCTYPE HTML PUBLIC…>
混杂模式 quirks mode
标准模式 standa mode
默认是混杂模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值