JavaScript的诞生

256 阅读4分钟

JavaScript的诞生

先来一段维基百科的JS的官方介绍:

是一种高级的、解释型的编程语言。JavaScript是一门基于原型、函数先行的语言。是一门多范式的语言。JavaScript(通常缩写为JS)是一种高级的、解释型编程语言。JavaScript是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面向对象程序设计,命令式编程,以及函数式编程。它提供语法来操控文本、数组、日期以及正则表达式等,不支持I/O,比如网络、存储和图形等,但这些都可以由它的宿主环境提供支持。它已经由ECMA(欧洲电脑制造商协会)通过ECMAScript实现语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器(Chrome、IE、Firefox、Safari、Opera)支持

提问:作为小白才开始学习时,肯定认为JavaScript和Java一定有什么关系???JavaScript的历史就从这里开始

1、

1994年,网景公司(Netscape)发布了Navigator浏览器0.9版。这是历史上第一个比较成熟的网络浏览器,轰动一时。但是,这个版本的浏览器只能用来浏览,不具备与访问者互动的能力。网景公司急需一种网页脚本语言,使得浏览器可以与网页互动……

2、

网页脚本语言到底选择什么呢?网景公司当时有两个选择:一个是采用现有的语言,比如Perl、Python、Tcl、Scheme等等,允许它们直接嵌入网页;另一个是发明一种全新的语言。两种语言各有利弊,公司内部无法抉择

3、

1995年,Sun公司发布了Java语言,大肆宣传其好处,将会成为未来的主宰,于是网景公司决定于Sun公司合作,导致当时公司的整个管理层都是Java的信徒,于是公司决定将要设计出来的网页脚本语言**必须要蹭Java热度......网景公司34岁的程序员的布莱登·艾登(Brendan Eich)**临危受命,花了10天设计了JS的最初版本,(附上大佬图:

4、

JavaScript最初的命名是Mocha(有摩卡的意思)之后改名为LiveScript,同年12月,Netscape Navigator 2.0 Beta 3中部署时被重命名为JavaScript,就是因为当时网景公司与Sun公司组成的开发联盟为了让这门语言搭上Java这个编程语言“热词”,因此将其临时改名为JavaScript。

JavaScript的设计缺陷

因为布莱登对Java一点兴趣也没有,只花了10天时间,由于涉及时间太短,语言的一些细节考虑的不够严谨,导致后来很长一段时间,JavaScript程序十分混乱,接下来解释JavaScript的10个涉及缺陷

  • 不适合开发大型程序

  • 非常小的标准库:提供的标准函数库非常小,只能完成一些基本的操作

  • nullundefinednull属于对象(object)的一种,意思是该对象为空;undefined则是一种数据类型,表示未定义。两者十分容易混淆,且null几乎没有没用,不应该被设计

  • 全局变量难以控制

  • 自动插入行尾分号

  • 加号运算符:+作为运算符,有两个含义,可以表示数字与数字的和,也可以表示字符与字符的连接。当操作项为数字和字符的组合,则数字自动转化为字符,增加了运算复杂性,完全可以另行设置一个字符连接的运算符

  • NaN:NaN是一种数字,表示超出了解释器的极限

    NaN === NaN; //false   NaN !== NaN; //true   alert( 1 + NaN ); // NaN

        解释器直接报错,更有利于简化程序

  • 数组和对象的区分:由于JavaScript的数组也属于对象(Object),所以要区分一个对象到底是不是数组,相当麻烦
  • ==和===:==用来判断两个值是否相等。当两个值类型不同时,会发送自动转换,得到的结果非常不符合直觉,因此,推荐任何时候使用**"==="**比较稳妥。
  • 基本类型的包装对象:JavaScript有三种基本数据类型:字符串、数字、布尔值。它们都有相应的建构函数,可以生成字符串对象、数字对象和布尔值对象。与这些基本数据类型对应的对象类型,作用很小,造成的混淆很大

本文参考JavaScript的10个设计缺陷以及JavaScript的诞生记