一起创造,一起成长!这是我参加“掘金每日新计划·八月更新挑战”的第二天,点击查看活动详情
Brendan Eich 花了 10 天的时间来设计一种语言。 这是一个大杂烩,引用了多种语言,例如:
同时,它是一种动态的弱类型编程语言,非常适合面向对象和函数式编程风格
动态语言对应于静态语言。 静态语言中变量的数据类型是在编译时确定的; 而动态语言的数据类型是在运行时确定的。
强型和弱型。 强类型语言一旦确定了变量的类型,就无法进行转换,而弱类型的变量的类型则由应用程序上下文确定。
特征
基于原型继承,每个对象都有一个原型对象,对象以它的原型为模板,从原型继承方法和属性。 原型对象也是一个对象ecmascript 强类型,也有原型,并从原型继承方法和属性,因此类型形成了原型链。稍后我们将详细介绍原型和继承。
函数是一等公民,不仅可以像对象一样使用,还具有传递值并作为返回值返回的函数。稍后我们也会介绍
函数作用域,函数作用域就是词法作用域,可以生成闭包,稍后我们继续
有哪些组成部分
JavaScript = ECMAScript + 文档对象模型 (DOM) + 浏览器对象模型 (BOM)
ECMAScript:语言本身,由句型、类型、语句、关键字、保留字、运算符和全局对象组成
文档对象模型(DOM):一个用于操作 HTML 的 API,名称又多又长ecmascript 强类型,可以查看文档 - MDN
浏览器对象模型(BOM):操作浏览器的API,如Window、Screen、Location、History、Navigator、弹出框、Timing、Cookies
ECMAScript 版本 时间点版本
1997.7
ECMAScript 1.0 发布
1998.6
ECMAScript 2.0 发布
1999.12
ECMAScript 3.0 发布
2007.10
ECMAScript 4.0 草案发布,拆分
2008.7
改进部分4.0功能并发布ECMAScript 3.1
2009.12
ECMAScript 5.0 即将推出
2011.6
ECMAScript 5.1 版本发布
2013.12
ECMAScript 6 草案发布
2015.6
ECMAScript 6 正式发布并更名为“ECMAScript 2015”
此后每年都会发布一个版本,当年发布的就是当年的版本。 比如2022年发布,称为“ECMAScript 2022”,2023年发布“ECMAScript 2023”。
参考系列文章