关于前端:深入理解JavaScriptJavaScript-是什么

32次阅读

共计 1109 个字符,预计需要花费 3 分钟才能阅读完成。

Brendan Eich 花了 10 天工夫,设计实现的一门语言。它是个大杂烩,参考了多个语言,例如:

  • 根本语法:借鉴 C 语言和 Java 语言
  • 数据结构:借鉴 Java 语言,包含将值分成原始值和对象两大类
  • 函数的用法:借鉴 Scheme 语言和 Awk 语言,将函数当作第一等公民,并引入闭包
  • 原型继承模型:借鉴 Self 语言(Smalltalk 的一种变种)
  • 正则表达式:借鉴 Perl 语言
  • 字符串和数组解决:借鉴 Python 语言

与此同时,它是一门动静、弱类型的编程语言,非常适合面向对象和函数式的编程格调

动静语言,与之对应的是动态语言,动态语言在编译时变量的数据类型就确定的;而动静语言则是在运行时确定数据类型

强类型与弱类型,强类型语言一旦变量的类型被确定,就不能被转化,而弱类型的变量类型由利用上下文确定

特点

基于原型继承,即每个对象领有一个原型对象,对象又以其原型为模板,从原型继承办法和属性。原型对象也是对象,也领有原型,并从它的原型继承办法和属性,如此类型,造成原型链。咱们会在后文对原型、继承别离进行具体介绍

函数是一等公民,不仅能像对象一样应用,还领有函数传值、作为返回值返回。咱们亦在后文介绍

函数作用域,函数作用域为词法作用域,可造成闭包,咱们会在后文持续

由什么组成

JavaScript = ECMAScript + 文档对象模型(DOM)+ 浏览器对象模型(BOM)

ECMAScript:语言自身,由语法、类型、语句、关键字、保留字、操作符、全局对象组成

文档对象模型(DOM):操作 HTML 的 API,名字又多又长,可查文档——MDN

浏览器对象模型(BOM):操作 浏览器的 API,如 Window、Screen、Location、History、Navigator、弹出框、Timing、Cookies

ECMAScript 版本

工夫点 版本
1997.7ECMAScript 1.0 公布
1998.6ECMAScript 2.0 公布
1999.12ECMAScript 3.0 公布
2007.10ECMAScript 4.0 草案公布,产生一致
2008.7 改善一部分 4.0 性能,公布 ECMAScript 3.1
2009.12ECMAScript 5.0 正式公布
2011.6ECMAScript 5.1 版公布
2013.12ECMAScript 6 草案公布
2015.6ECMAScript 6 正式公布,并且更名为“ECMAScript 2015”

自此之后,往后每年发版一个版本,在那年发版就带上年份,如 2022 年公布,称为”ECMAScript 2022“,2023 年公布”ECMAScript 2023“

参考资料

  • 「温习」所以 JavaScript 到底是什么?我竟然懵了
  • JavaScript 语言的历史
正文完
 0