文章目录

  • JavaScript发展历史(JS)
    • 一 JavaScript的起源
    • 二 JavaScript的发展

JavaScript发展历史(JS)

一 JavaScript的起源

JavaScript因为互联网而生,紧随着浏览器的出现而问世。回顾它的历史,就要从浏览器的历史讲起。
下面就简单回顾这段辉煌的历史:
1990年底,欧洲核能研究组织,发明了万维网(World Wide Web)。

1992年底,美国国家超级电脑应用中心(NCSA),开发了第一个浏览器,Mosaic。

1994年,网景公司(Netscape)发布了Navigator浏览器0.9版,这是世界上第一款比较成熟的网络浏览器,轰动一时。但是这是一款名副其实的浏览器–只能浏览页面,浏览器无法与用户互动,当时解决这个问题有两个办法,一个是采用现有的语言,许它们直接嵌入网页。另一个是发明一种全新的语言liveScript ==> javaScript ==> ECMAscript

1994年10月,Mosaic通信公司成立,不久后改名为Netscape。开始开发面向普通用户的新一代的浏览器 Netscape Navigator。

1994年12月,Navigator发布了1.0版,市场份额一举超过90%。

Netscape公司很快发现,Navigator浏览器需要一种可以嵌入网页的脚本语言,用来控制浏览器行为(表单验证)。管理层对这种浏览器脚本语言的设想是:功能不需要太强,语法较为简单,容易学习和部署。
那一年,正逢Sun公司的Java语言问世,市场推广活动非常成功。Netscape公司决定与Sun公司合作,浏览器支持嵌入Java小程序(后来称为Java applet)。
但是,浏览器脚本语言是否就选用Java,则存在争论。后来,还是决定不使用Java,因为网页小程序不需要Java这么“重”的语法。但是,同时也决定脚本语言的语法要接近Java,并且可以支持Java程序。这些设想直接排除了使用现存语言,比如Perl、Python和TCL。

1995年,Netscape公司雇佣了程序员Brendan Eich开发这种网页脚本语言。

Brendan Eich有很强的函数式编程背景,希望以Scheme语言(函数式语言鼻祖LISP语言的一种方言)为蓝本,实现这种新语言。

1995年Sun公司将Oak语言改名为Java,正式向市场推出。Sun公司大肆宣传,许诺这种语言可以"一次编写,到处运行"(Write Once, Run Anywhere),它看上去很可能成为未来的主宰。

同年网景公司动了心,决定与Sun公司结成联盟

34岁的系统程序员Brendan Eich登场了。1995年4月,网景公司录用了他,他只用10天时间就把Javascript设计出来了。(多肽语言)

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

二 JavaScript的发展

为了保持简单,这种脚本语言缺少一些关键的功能,比如块级作用域、模块、子类型(subtyping)等等,但是可以利用现有功能找出解决办法。这种功能的不足,直接导致了后来JavaScript的一个显著特点:对于其他语言,你需要学习语言的各种功能,而对于JavaScript,你常常需要学习各种解决问题的模式。而且由于来源多样,从一开始就注定,JavaScript的编程风格是函数式编程和面向对象编程的一种混合体。

Netscape公司的这种浏览器脚本语言,最初名字叫做Mocha。

注:以上大部分内容来源于简书潜水的旱鸭子,链接:https://www.jianshu.com/p/9529ded79361

JavaScript起源及发展相关推荐

  1. JavaScript起源、发展历史及设计的缺陷

    1.1 起源 1.2 简史 1.3 内容 1.4 设计缺陷 1.1 起源 JavaScript诞生于1995年,它的出现主要是用于处理网页中的前端验证. 所谓的前端验证,就是指检查用户输入的内容是否符 ...

  2. 协程简史,一文讲清楚协程的起源、发展和实现

    /   今日科技快讯   / 北京时间10月5日下午,在瑞典首都斯德哥尔摩,瑞典皇家科学院宣布,将2022年诺贝尔化学奖授予美国化学家卡罗琳·贝尔托西.丹麦化学家摩顿·梅尔达尔和美国化学家卡尔·巴里· ...

  3. 正确入门Service Mesh:起源、发展和现状

    简介:Service Mesh早已不是一个新兴的概念,但大家对Service Mesh的探索依然火热.本文将依次讲解Service Mesh的定义(什么是Service Mesh).起因(为什么需要S ...

  4. 软件工程的起源与发展

    软件工程专业的起源与发展 作为一个软件工程的学生,我们必须了解也应当了解软件工程这一专业的起源和发展 起源 软件工程这一专业起源于软件危机年代,经过这么多年的发展,软件工程也形成了自己一套独有的知识体 ...

  5. 人工智能传奇——关于AI起源与发展的故事

    人工智能传奇         --关于AI起源与发展的故事 1997年5月11日北京时间早晨4时50分,一台名叫"深蓝"的超级电脑在棋盘C4处落下最后一颗棋子,全世界都听到了震撼世 ...

  6. 人工智能传奇—关于AI起源与发展的故事

    人工智能传奇-关于AI起源与发展的故事 作者:佚名    教程来源:本站原创    点击数: 274    更新时间:2007-8-25 1997年5月11日北京时间早晨4时50分,一台名叫" ...

  7. 计算机起源于发展论文,关于计算机起源及发展的论文

    关于计算机起源及发展的论文以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 用电子等部件模拟的具有运算能力的物体,学名计算 ...

  8. 小学生计算机的起源与发展ppt,计算机的起源与发展历程ppt课件.ppt

    计算机的起源与发展历程ppt课件 1.1 计算机的起源与发展历程;了解计算机的起源与发展历程,计算机在信息社会中的应用,掌握计算机的组成和计算机硬件系统的构成.;教学难点;计算机的特性与应用计算机应用 ...

  9. 计算机的发展经历起源与未来,计算机起源与发展历程.ppt

    计算机起源与发展历程 1.1.1 计算机的起源 1.最早的计算工具:人的双手(图1-1所示) 1.1.1 计算机的起源 1.1.1 计算机的起源 1.1.1 计算机的起源 1.1.2 电子计算机的问世 ...

最新文章

  1. 全国大学生智能车竞赛双车接力组芯片申请汇总
  2. Python调用ansible API系列(一)获取资产信息
  3. “数据驱动”时代来临,阿里云数据中台如何赋能金融业?(附重磅报告下载)
  4. openshift_OpenShift Origin中的Kubernetes Spark运算符(第1部分)
  5. 【转】Java删除文件夹和文件
  6. hdu2844 Coins(普通的多重背包 + 二进制优化)
  7. 【C#】带等待窗体的BackgroundWorker
  8. FISCO BCOS 控制台 部署合约 调用 查看已部署合约的地址
  9. 基于SSM的图书馆管理系统,高质量毕业论文范例(可直接使用),项目导入视频,附送源码和数据库脚本,论文撰写教程
  10. hbase 基本命令
  11. Stata数据处理:快速读取万德-Wind-数据-readWind2
  12. python实现车牌识别系统
  13. 分区助手扩大c盘后自动修复_分区助手扩大c盘的详细操作步骤
  14. LeetCode.868-二进制距离(Binary Gap)
  15. Notion Like 笔记软件使用教程·学习资源汇总·知识管理方案
  16. 图解Janusgraph系列-查询图数据过程源码分析
  17. RT-Thread Smart上手指南~
  18. C#合并多个pdf到一个pdf文件;不使用Aspose.pdf.dll,避免水印
  19. Leetcode 994 腐烂的柿子
  20. 外行人如何通过学习软件测试转行IT

热门文章

  1. 美容院冬季拓客方法大全
  2. 《C语言小程序篇---1》——实现一个“富婆通讯录“(超详细)
  3. 区块链技术正向积极乐观的智能前景发展
  4. 据说只有高端机器才配运行K8S,网友:1G内存的渣渣跑起来了!
  5. itop4412 uboot 学习详细记录四丶Exynos4412 编译Makefile的配置文件config.mk分析)
  6. 充分利用 cpu_如何充分利用云
  7. 在PRESS.one这片蛮荒沃土上,我们都是拓荒者
  8. 阿飞学习mina框架
  9. win7系统下连网络打印机打印反应很慢解决方法
  10. IOS UIView 01-View开始深入 绘制像素到屏幕上