升级打怪-精读javascript高级程序设计(第一章)

第一章

背景

为了完成简单的表单验证,避免频繁的与服务器交换数据。

创作历程

  • 1995年2月,Netspece公司的布兰登·艾奇,开发LiveScript,后改名JavaScript1.0
  • 随后发布JavaScript1.1
  • 1997年,以JavaScript1.1为蓝本组件TC39,发布ECMA-262
  • 1998年,ISO/IEC采用ECMScript作为标准(即ISO/IEC-16262)

整体内容

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

ECMScript

ECMA-262组成

  • 语法
  • 类型
  • 语句
  • 关键字
  • 保留字
  • 操作符
  • 对象

ECMA-262版本

  • 第一版:本质上与Netscape的javascript1.1相同
  • 第二版:为了保持与ISO/IEC-16262严格保持一致,内容未更新
  • 第三版:真正的第一次修改,内容包括:字符串处理,错误定义和数值输出,增加正 则表达式,新控制语句,try-catch异常处理,标准国际化修改。
  • 第四版:在第三版的基础上完全定义了一门语言,被放弃。
  • 第五版:javascript3.1成为事实意义上的第五版,增加JSON对象,继承的方法和高级属性定义,严格模式,对引擎解释和执行代码加以补充,说明

ECMA-262兼容

  • 支持ECMA-262描述的所有类型,值,对象,属性,函数以及程序句法和语义(ECMA-262第一页)
  • 支持Unicode字符标准
  • 添加ECMA-262没有描述的更多类型,值,对象,属性和函数。
  • 添加ECMA-262没有定义的程序和正则表达式语法

浏览器对ECMA-262的支持

Netscape和IE
浏览器ECMAScript兼容性
Netscape Navigator 2——
Netscape Navigator 3——
Netscape Navigator 4~4.05——
Netscape Navigator 4.06~4.79第1版
Netscape 6+第3版
IE3——
IE4——
IE5第1版
IE5.5~IE7第3版
IE8第5版 (不完全兼容)
IE9第5版
主流浏览器
浏览器ECMAScript兼容性
Opera6~7.1第2版
Opera7.2+第3版
Safari 1~2.0.x第3版* (不完全支持)
Safari 3.x第3版
Safari 4.x~5.x第5版*(不完全支持)
Chrome1+第3版
Firefox1~2第3版
Firefo3.0.x第3版
Firefo3.5~3.6第5版*(不完全支持)
Firefo34.0+第5版

DOM

背景

  • Internet Explore 4和Netscape Navigator 4分别支持不同形式的DHTML,影响到web跨平台的天性
  • W3C开始DOM规划

DOM级别

  • DOM1级
    • DOM
    • DOM HTML
  • DOM2级
    • DOM1级
    • DOM视图
    • DOM事件
    • DOM样式
    • DOM遍历和范围
  • DOM3级
    • DOM2级
    • DOM加载和保存——统一加载和保存文档的方法
    • DOM验证——验证文档的方发
    • 支出XML1.0规范
  • 其他DOM标准
    • SVG(可伸缩矢量图)1.0
    • MathML(数学标记语言)1.0
    • SMIL(同步多媒体集成语言)
    • XUL(用户界面语言)

浏览器对DOM的支持

浏览器DOM兼容性
Netscape Navigator 1.~4.x——
Netscape 6+(Mozilla 0.6.0+)1级,2级(几乎全部),3级*(部分)
IE2~IE4.x——
IE51级(最小限度)
IE5.5~IE81级(几乎全部)
IE9+1级,2级,3级
Opera1~6——
Opera7~8.x1级(几乎全部),2级(部分)
Opera9~9.x1级,2级(几乎全部),3级(部分)
Opera10+1级,2级,3级(部分)
Safari 1.0.x1级
Safari 2+1级 ,2级(部分)
Chrome1+1级 ,2级(部分)
Firefox1+1级 ,2级(几乎全部),3级(部分)

BOM

背景

  • Internet Explore 3和Netscape Navigator 3支持可以访问和操作浏览器窗口的浏览器对象模型,但不是标准
  • 之后,HTML5把很多BOM功能写入正式过饭

内容

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

总结

javascript组成部分:

  • ECMAScript,由ECMA-262定义,提供核心语言功能
  • 文档对象模型(DOM),提供访问和操作网页内容的方法和接口
  • 浏览器对象模型(BOM),提供与浏览器交互的方法和接口
    主流浏览器支持情况(IE,Firefo,Chrome,Safari和Opera)
类型主流浏览器
ECMAScript第3版,第5版(较高)
DOM都支持
BOM都支持
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值