js 红宝书学习笔记(一) 什么是js

**注: 本学习笔记为js高级编程第四版学习笔记,看着写着,希望和大家一起研究 ctrl+f 可搜索有效内容,1.3 小结 包含精华内容 **

1.1 简短的历史回顾

1995 年,JavaScript 问世
网景与 Sun 公司为蹭java热度将LiveScript,(译为活的脚本,10天开发出来的一个脚本语言)更名为JavaScript
1996 年 其 Internet Explorer(以下简称 IE3)浏览器包含了自己的 JavaScript 实现(JScript)。 微软的 JavaScript 实现意味着出现了两个版本的 JavaScript:Netscape Navigator 中的 JavaScript,以及 IE 中的 JScript
1997 年,统一规则, ECMAScript标准问世.
注**:ctrl+f可以直接搜索重要部分,跳过无用内容。*

1.2 JavaScript 实现

JavaScript远远不限于 ECMA-262 所定义的那样。完整的 JavaScript 实现包含以下几个部分(见图 1-1):
核心(ECMAScript)
文档对象模型(DOM)
浏览器对象模型(BOM)

在这里插入图片描述
Web 浏览器只是 ECMAScript 实现可能存在的一种宿主环境(host environment)。宿主环境提供ECMAScript 的基准实现和与环境自身交互必需的扩展。
注: 现在js的node.js方向因为v8引擎等可以在做些不太复杂的中小型项目。并且因为这些引擎,使得前端技术出现突破性的进展:前端三大框架出现,node做后台,nw.js和Electron跨桌面。前端已经是最容易成为全栈及出现成果物的存在,接下来可能是个人英雄辈出的时代。

ECMA-262 到底定义了什么?在基本的层面,它描述这门语言的如下部分:
语法、类型、语句、关键字、保留字、操作符、全局对象
ECMAScript 只是对实现这个规范描述的所有方面的一门语言的称呼。JavaScript 实现了
ECMAScript,而 Adobe ActionScript 同样也实现了 ECMAScript。
ES5 ECMAScript 3.1 变成了 ECMA-262 的第 5 版,于 2009 年 12 月发布(重点且浏览器基本都兼容)
ES6 ES2015 或 ES Harmony(和谐版),于 2015 年 6 月发布(次重点且浏览器部分兼容,做项目时可以用babel转es5)
ES7 或 ES2016,于 2016 年 6 月发布

ECMAScript 符合性是什么意思?
支持 ECMA-262 中描述的所有“类型、值、对象、属性、函数,以及程序语法与语义”;
支持 Unicode 字符标准。
此外,符合性实现还可以满足下列要求。
增加 ECMA-262 中未提及的“额外的类型、值、对象、属性和函数”。ECMA-262 所说的这些额外内容主要指规范中未给出的新对象或对象的新属性。
支持 ECMA-262 中没有定义的“程序和正则表达式语法”(意思是允许修改和扩展内置的正则表达式特性)。
以上条件为实现开发者基于 ECMAScript 开发语言提供了极大的权限和灵活度,也是其广受欢迎的原因之一。

浏览器兼容
在这里插入图片描述
文档对象模型(DOM,Document Object Model) 是一个应用编程接口(API),用于在 HTML 中使用扩展的 XML。DOM 将整个页面抽象为一组分层节点可以不刷新页面而修改页面外观和内容
DOM 通过创建表示文档的树,让开发者可以随心所欲地控制网页的内容和结构。使用 DOM API,可以轻松地删除、添加、替换、修改节点。
IE3 和 Netscape Navigator 3 提供了浏览器对象模型(BOM) API,用于支持访问和操作浏览器的窗口。使用 BOM,开发者可以操控浏览器显示页面之外的部分。。HTML5以正式规范的形式涵盖了尽可能多的 BOM 特性,

1.3 小结 (对应红宝书1.4)

JavaScript 是一门用来与网页交互的脚本语言,包含以下三个组成部分。

  1. ECMAScript:由 ECMA-262 定义并提供核心功能。
  2. 文档对象模型(DOM):提供与网页内容交互的方法和接口。
  3. 浏览器对象模型(BOM):提供与浏览器交互的方法和接口。
    JavaScript 的这三个部分得到了五大 Web 浏览器(IE、Firefox、Chrome、Safari 和 Opera)不同程度的支持。所有浏览器基本上对 ES5(ECMAScript 5)提供了完善的支持,而对 ES6(ECMAScript 6)和ES7(ECMAScript 7)的支持度也在不断提升。这些浏览器对 DOM 的支持各不相同,但对 Level 3 的支持日益趋于规范。HTML5 中收录的 BOM 会因浏览器而异,不过开发者仍然可以假定存在很大一部分公共特性。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这货可能是个前端

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值