JavaScript语言特性
语言特性这里块,书本没有讲的很多,基本都是在别的博客看的,很多博客的观点也不一致,我就挑几点常见的理解一下。
(1)基于原型
- js的面向对象是基于原型的面向对象,对象创建的方式根本上只有一种,就是以原型对象为模板创建对象。
- 只有对象,没有类;对象继承对象,而不是类继承类。
- 原型对象是新对象的模板,它将自身的属性共享给新对象。
- 一个对象不但可以享有自己创建时和运行时定义的属性,而且可以享有原型对象的属性。
这一块内容来自于大神博客
(2)弱类型
- 变量不需要声明和指定类型即可使用
(3)动态性
- 采用事件驱动的方式进行
- 可以在前端实现一些和服务器完全没有联系的效果
(4)解释性
- 解释性语言,变执行边解释,无需编译
(5)安全性
- 语言相对来说比较安全,仅由浏览器执行,不允许javascript访问本地硬盘,以及操作服务器上的数据,只用来显示浏览器的网页效果和实时交互。
起源
Javascript 由 Netscape 网景公司于1995年着手开发。1996年,Javascript 1.0 最初应用于 Netscape Navigator 2 。
Javascript实现
Javascript 和 ECMAScript 实际上不是同一个东西,Javascript含义更为广泛。
Javascript 的三个组成部分如下
- 核心ECMAScript
- 文档对象模型DOM
- 浏览器对象模型BOM
DOM 和 BOM 是两个比较难的概念,后面的章节会专门提及。
ECMAscript标准
(1)ECMA-262实际上只是这门语言的基础,开发者们、浏览器厂商们在此基础上构建更完善的脚本语言,才能实现效果。 (2)ECMA-262规定的内容有以下几个方面:- 语法
- 类型
- 语句
- 关键字
- 保留字
- 操作符
- 对象
(3)版本历史
- 1997年,以Javascript1.1为蓝本制定ECMA-262标准第1版,命名为ECMAScript
- 1998年,ECMAScript成为ISO国际标准(ISO/IEC-16262)
- 1998年,ECMAScript第2版,无更新,跟ISO/IEC-16262保持统一
- 1999年,ECMAScript第3版,做出了很大的修改完善,使ECMAScript成为一门真正的编程语言
- ECMAScript第4版,因改动过大被否决。被小幅改动的ECMAScript 3.1所取代
- 2009年,ECMAScript第5版,就是ECMAScript 3.1,所谓的es5,现在的主流
- 2011年,ECMAscript 5.1版发布,并且成为ISO国际标准(ISO/IEC 16262:2011)
- 2015年,ECMAScript第6版,称之es6或者es2015,本书未涉及,但主流浏览器大部分已兼容,即将成为主流。
为了更频繁地发布包含小规模增量更新的新版本,以后的版本都会使用年份命名,如es2016。
相关概念
(1)ECMA
European Computer Manufactures Association,中文名“欧洲计算机制造商协会”,1994年后改名为:Ecma International——ECMA国际。成立于1961年,总部位于日内瓦。
ECMA的成员由一些世界主流的技术公司组成,有不同的会员级别和准入规则。
负责的标准有:
- ECMAScript语言规范(JavaScript)
- CD-ROM格式
- C#语言规范
- C++/CLI语言规范
- 通用语言基础结构(CLI)
- Eiffel语言
- 电子产品环境化设计要素
- Universal 3D标准
- OOXML
大名鼎鼎的 TC39 实际上是ECMA协会下的“39号技术委员会”,专门负责制定ECMAScript标准。
(2)ISO
International Organization for Standardization,中文名为“国际标准化组织”,成立于1946年,总部也是位于日内瓦,是一个国家层面的组织,参加者包括各会员国的国家标准机构和主要公司。
ISO负责目前绝大部分领域(包括军工、石油、船舶等垄断行业)的标准化活动。
(3)W3C
World Wide Web Consortium 万维网联盟,成立于1994年,由美国麻省理工学院计算机科学和人工智能实验室 (MIT CSAIL),总部位于法国的欧洲信息数学研究联盟 (ERCIM) 和日本的庆应大学(Keio University)联合运作,并且在世界范围内拥有分支办事处。
搜到的资料显示,北京航空航天大学也是W3C全球总部之一。
以上,就是《Javascript高级程序设计》第一章的学习笔记,部分知识补充于网络。