好记性不如烂博客--JS的第一天

    技术2025-04-07  18

    JS历史发展

    文章目录

    JS历史发展浏览器发展史javascript诞生Q1:为什么会有JavaScript产生,主要解决一个什么问题?Q2:为什么叫 “JavaScript” ,与 Java 有什么关系?Q3:JavaScript主要由谁开发,开发了多长时间?Q4:ECMAScript 的由来?Q5:现在所说的JavaScript指的是什么? 学习一门语言,充分了解其发展历史,会有助于更好地理解这门语言。知道其发展历史,你会明白它为什么是这个样子,而不是那个样子;它过去和现在存在什么样的问题,将来要解决什么问题,


    JavaScript的诞生相当有意思,它不像C、Java等其他语言从开始设计到诞生都经历了比较长的一段时间。JavaScript从设计到诞生只用了10天。


    浏览器发展史

    美国伊利诺州的伊利诺大学的国家超级计算机应用中心(National Center for Supercomputing Applications,简称NCSA)。NCSA在1993年发布了互联网上第一个或得普遍使用和能够显示图片的网页浏览器,名字就叫Mosaic。NCSA拥有Mosaic的商标权,并且伊利诺大学将技术转让给了另一家公司望远镜娱乐公司(Spyglass Entertainment)。Mosaic公司为了避免和NCSA的商标权问题,在1994年11月14日,正式更名为网景通信公司(Netscape Communications Corporation)。


    在20世纪90年代网景公司开发的网景浏览器(Netscape)一度成为浏览器市场占有率的霸主。网景公司前身公司叫“MOSAIC Communication Corp”,公司注册于1994年4月4日。Mosaic公司在1994年10月13日发布了beta版的Netscape浏览器,命名为Mosaic Netscape 0.9,该浏览器一发布就成为当时相当热门的浏览器。


    刚开始的网景浏览器是一款名副其实的浏览器,就是只能浏览,无法与用户互动。网景想去解决这个问题,当时想了两种办法,一个是利用现有的语言,如Perl、Python、Scheme等等允许它们直接嵌入网页,另一个办法是发明一种全新的语言。


    javascript诞生

    1995年发生了一件大事,5月23日,Java语言诞生并向市场推广,犹如晴天一声惊雷。Sun公司大肆宣传,这种语言可以“一次编写,到处运行(Write Once,Run Anywhere)”。在那个时代Java就让人感觉是未来的主宰。Java强势推出,使得网景公司的整个管理层都成了Java信徒。网景公司决定与Sun公司结成联盟,Sun公司因此完全介入网页脚本语言的决策,它不仅允许Java程序以applet的形式直接在浏览器中运行,甚至还考虑将Java作为脚本语言嵌入网页,只是那样做会使Html网页过于复杂,后来不得不放弃。


    JavaScript祖师爷布兰登就在这个时间登场了,当年他是34岁的系统程序员,1995年4月被网景公司录用。公司录用他的初始目的是研究将Scheme语言作为网页脚本语言的可能性。布兰登的主要方向和兴趣是函数式编程,以为进入公司后,会主要与Scheme语言打交道。 但是短短一个月之后,因为Java的诞生,网景公司做出决策,未来的网页脚本语言必须“看上去与Java足够相似”,但是要比Java简单,使得非专业的网页作者也能快速上手。


    布兰登为了应付公司安排的任务,他用了10天就将JavaScript设计了出来。由于设计时间太短,语言的一些细节考虑的不够严谨,导致后来的很长一段时间,JavaScript写出来的程序混乱不堪。当时的设计思路是这样的:

    (1)借鉴C语言的基本语法;

    (2)借鉴Java语言的数据类型和内存管理;

    (3)借鉴Scheme语言,将函数提升到"第一等公民"(first class)的地位;

    (4)借鉴Self语言,使用基于原型(prototype)的继承机制;

    (5)借鉴Perl语言的正则表达式;

    (6)借鉴Python语言的字符串和数组处理。


    所以JavaScript语言是一个大杂烩,结果就是(简化的)函数式编程+(简化的)面向对象编程。 作为JavaScript的作者,布兰登并不喜欢自己的这个作品,他自己都说:“与其说我爱它,不如说我恨它。它是C语言和Self语言一夜情的产物。十八世纪英国文学家约翰逊博士说得好:‘它的优秀之处并非原创,它的原创之处并不优秀。’(the part that is good is not original,and the part that is original is not good.)”ECMA JavaScript2.0标准化委员会委员、Web开发领域的知名技术权威Douglas Crockford(道格拉斯 克罗克福德 )这样评价JavaScript:“JavaScript设计的最出色的就是它的函数的实现。它近乎接近于完美。… 函数在javascript中是顶级对象,它是第一个成为主流的Lambada语言,它是披着C外衣的Lisp。”

    JavaScript完成伊始并不是现在这个名字,刚开始命名为Mocha,紧接着又改名为LiveScript,最后才定名为现在所用的名字。随后在当年与网景浏览器2.0版本一同上市。名字中带有“Java”并不是因为和Java有多深的关系,而是为了更好的推广,这是公司的决定。


    Q1:为什么会有JavaScript产生,主要解决一个什么问题?

    A:1994 年,网景公司( Netscape )发布了 Navigator 浏览器 0.9 版,这是世界上第一款比较成熟的浏览器,但也是名副其实的浏览器,只能浏览,提交表单的时候浏览器并不知道是否提交,每次都会向服务器发送请求,由服务器来判断。所以 JavaScript 主要是为了解决与用户的交互问题。

    Q2:为什么叫 “JavaScript” ,与 Java 有什么关系?

    A:1995 年,Sun 公司将 Oak 语言改名为 Java ,正式向市场推出。Sun 公司大肆宣传,网景公司动了心,决定与 Sun 联盟,开发一款网页脚本语言,Netscape 为了搭上媒体热炒 Java 的顺风车,临时把 LiveScript 改名为 JavaScript,所以从本质上来,JavaScript 和 Java 没什么关系。

    Q3:JavaScript主要由谁开发,开发了多长时间?

    A:1995 年 4 月,网景公司录用了 34 岁的系统程序员布兰登·艾奇( Brendan Eich ),主要负责被布兰登称之为“简化版 Java语言”的网页脚本语言的开发工作。然而他对 Java 并无兴趣,所以花了 10 天的时间设计出了 JavaScript;主要特点:1.借鉴 C语言的基本语法;2.借鉴 Java 语言的数据类型和内存管理;3.借鉴 Scheme 语言的函数;4.借鉴 Self 语言的原型继承机制。

    Q4:ECMAScript 的由来?

    A:网景公司发布了JavaScript 后,微软当时为了发布 IE3 搭载上了一个克隆版的 JavaScript,为了避免侵权取名为 JScript,还有当时 CEnvi(共享软件) 中的 ScriptEase,至此 JavaScript、JScript、ScriptEase 三足鼎立。市面上出现了三个相似版本的脚本语言肯定是不行的,所以语言标准化问题亟待解决。1997 年,JavaScript 1.1 作为一个草案提交给欧洲计算机制造商协会( ECMA ),该标准定义了名为 ECMAScript 的全新脚本语言。

    Q5:现在所说的JavaScript指的是什么?

    现在所说的JavaScript主要是由以下三个方面组成:

    ECMAScript(核心):描述了该语言的语法和基本对象;

    DOM :提供处理网页内容的方法和接口;

    BOM :提供与浏览器交互的方法和接口。

    Processed: 0.011, SQL: 9