位置: IT常识 - 正文

JavaScript 发展的前世今生(js的发展历史)

编辑:rootadmin
JavaScript 发展的前世今生

推荐整理分享JavaScript 发展的前世今生(js的发展历史),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript的发明者,javascript的未来,javascript的诞生与发展,简述javascript的未来,javascript的发展过程,javascript的发展过程,javascript的诞生与发展,javascript发展前景,内容如对您有帮助,希望把文章链接给更多的朋友!

专栏介绍

本专栏主要用作于开放性知识点分享学习,其主要知识点范围是 以围绕 原生 JavaScript 语法 从基础知识到高阶语法阶段的学习分享。

导语:

既然博主,计划将此专栏打造为 JavaScript 的知识点学习分享集结地。所以,本章节就为大家带来,有关JavaScript 这门语言的一些基本介绍,以及一些发展诞生的历史背景。以便大家能够更加的了解 JavaScript 这门语言,然后去学习它。

目录JavaScript 诞生启蒙JavaScript 的发展`历史背景`。JavaScript 的核心构成ECMAScript 规范DOM(文档对象模型)BOM(浏览器对象模型)总结:JavaScript 诞生启蒙

1995年,JavaScript问世。当时,它的主要用途是代替Perl等服务器端语言处理输入验证。在此之前,要验证某个必填字段是否已填写,或者某个输入的值是否有效,需要与服务器的一次往返通信。网景公司希望通过在其Navigator浏览器中加入JavaScript来改变这个局面。在那个普遍通过电话拨号上网的年代,由客户端处理某些基本的验证是让人兴奋的新功能。缓慢的网速让页面每次刷新都考验着人们的耐心。

从那时起,JavaScript逐渐成为市面上所有主流浏览器的标配。如今,JavaScript的应用也不再局限于数据验证,而是渗透到浏览器窗口及其内容的方方面面。JavaScript已被公认为主流的编程语言,能够实现复杂的计算与交互,包括闭包、匿名(lambda)函数,甚至元编程等特性。不仅是桌面浏览器,手机浏览器和屏幕阅读器也支持JavaScript,其重要性可见一斑。就连拥有自家客户端脚本语言VBScript的微软公司,也在其Internet Explorer(以下简称IE)浏览器最初的版本中包含了自己的JavaScript实现。

从简单的输入验证脚本到强大的编程语言,JavaScript的崛起没有任何人预测到。它很简单,学会用只要几分钟;它又很复杂,掌握它要很多年。要真正学好用好JavaScript,理解其本质、历史及局限性是非常重要的。

JavaScript 的发展历史背景。

随着Web日益流行,对客户端脚本语言的需求也越来越强烈。当时,大多数用户使用28.8kbit/s的调制解调器上网,但网页变得越来越大、越来越复杂。为验证简单的表单而需要大量与服务器的往返通信成为用户的痛点。想象一下,你填写完表单,单击“提交”按钮,等30秒处理,然后看到一条消息,告诉你有一个必填字段没填。网景在当时是引领技术革新的公司,它将开发一个客户端脚本语言来处理这种简单的数据验证提上了日程。

1995年,网景公司一位名叫Brendan Eich(布兰登·艾奇)的工程师,开始为即将发布的Netscape Navigator 2开发一个叫Mocha(后来改名为LiveScript)的脚本语言。当时的计划是在客户端和服务器端都使用它,它在服务器端叫LiveWire。

Brendan Eich(布兰登·艾奇)

为了赶上发布时间,网景与Sun公司结为开发联盟,共同完成LiveScript的开发。就在Netscape Navigator 2正式发布前,网景把LiveScript改名为JavaScript,以便搭上媒体当时热烈炒作Java的顺风车(这里确实属实是蹭了当前正火的语言 Java 的热度,这也使得更多的人认识了,并接触了这门语言,这也为之后,JavaScript 的成功并被广泛应用,起到了一定的作用,甚至有的初学小伙伴,会好奇,JavaScript 和Java 它们之间有什么区别?所以,博主这里想说的是,它们 的关系就如同:‘周杰’ 和周杰伦的关系......)。

由于JavaScript 1.0很成功,网景又在Netscape Navigator 3中发布了1.1版本。尚未成熟的Web的受欢迎程度创造了历史新高,而网景则稳居市场领导者的位置。这时候,微软决定向IE投入更多资源。就在Netscape Navigator 3发布后不久,微软发布了IE3,其中包含自己名为JScript(叫这个名字是为了避免与网景发生许可纠纷)的JavaScript实现。1996年8月,微软重磅进入Web浏览器领域,这是网景永远的痛,但它代表JavaScript作为一门语言向前迈进了一大步。

JavaScript 发展的前世今生(js的发展历史)

微软的JavaScript实现意味着出现了两个版本的JavaScript:Netscape Navigator中的JavaScript,以及IE中的JScript。与C语言以及很多其他编程语言不同,JavaScript还没有规范其语法或特性的标准,两个版本并存让这个问题更加突出了。随着业界担忧日甚,JavaScript终于踏上了标准化的征程。

1997年,JavaScript 1.1作为提案被提交给欧洲计算机制造商协会(Ecma)。第39技术委员会(TC39)承担了“标准化一门通用、跨平台、厂商中立的脚本语言的语法和语义”的任务(参见TC39-ECMAScript)。TC39委员会由来自网景、Sun、微软、Borland、Nombas和其他对这门脚本语言有兴趣的公司的工程师组成。他们花了数月时间打造出ECMA-262,也就是ECMAScript(发音为“ek-ma-script”)这个新的脚本语言标准。

1998年,国际标准化组织(ISO)和国际电工委员会(IEC)也将ECMAScript采纳为标准(ISO/IEC-16262)。自此以后,各家浏览器均以ECMAScript作为自己JavaScript实现的依据,虽然具体实现各有不同。

JavaScript 的核心构成

虽然JavaScript和ECMAScript基本上是同义词,但JavaScript远远不限于ECMA-262所定义的那样。没错,完整的JavaScript实现包含以下几个部分:

核心(ECMAScript)文档对象模型(DOM)浏览器对象模型(BOM)ECMAScript 规范

ECMAScript,即ECMA-262定义的语言,并不局限于Web浏览器。事实上,这门语言没有输入和输出之类的方法。ECMA-262将这门语言作为一个基准来定义,以便在它之上再构建更稳健的脚本语言。Web浏览器只是ECMAScript实现可能存在的一种宿主环境(host environment)。宿主环境提供ECMAScript的基准实现和与环境自身交互必需的扩展。扩展(比如DOM)使用ECMAScript核心类型和语法,提供特定于环境的额外功能。其他宿主环境还有服务器端JavaScript平台Node.js和即将被淘汰的Adobe Flash, 所以 ECMAScript 它可以理解为是JavaScript的一个标准。ECMAScript只是对实现这个规范描述的所有方面的一门语言的称呼。JavaScript 实际实现了ECMAScript 所定义的规范概念。

DOM(文档对象模型)

文档对象模型(DOM,Document Object Model)是一个应用编程接口(API),用于在HTML中使用扩展的XML。DOM将整个页面抽象为一组分层节点。HTML或XML页面的每个组成部分都是一种节点,包含不同的数据。比如下面的HTML页面:

<html> <head> <title>Sample Page</title> </head> <body> <p> Hello World!</p> </body></html>

这些代码通过DOM可以表示为一组分层节点,图例:

DOM通过创建表示文档的树,让开发者可以随心所欲地控制网页的内容和结构。使用DOM API,可以轻松地删除、添加、替换、修改节点。

注意:DOM并非只能通过JavaScript访问,而且确实被其他很多语言实现了。不过对于浏览器来说,DOM就是使用ECMAScript实现的,如今已经成为JavaScript语言的一大组成部分。

BOM(浏览器对象模型)

在IE3和Netscape Navigator 3提供了浏览器对象模型(BOM) API,用于支持访问和操作浏览器的窗口。使用BOM,开发者可以操控浏览器显示页面之外的部分。而BOM真正独一无二的地方,当然也是问题最多的地方,就是它是唯一一个没有相关标准的JavaScript实现。HTML5改变了这个局面,这个版本的HTML以正式规范的形式涵盖了尽可能多的BOM特性。由于HTML5的出现,之前很多与BOM有关的问题都迎刃而解了。

总体来说,BOM主要针对浏览器窗口和子窗口(frame),不过人们通常会把任何特定于浏览器的扩展都归在BOM的范畴内。比如,下面就是这样一些扩展:

弹出新浏览器窗口的能力;移动、缩放和关闭浏览器窗口的能力;navigator对象,提供关于浏览器的详尽信息;location对象,提供浏览器加载页面的详尽信息;screen对象,提供关于用户屏幕分辨率的详尽信息;performance对象,提供浏览器内存占用、导航行为和时间统计的详尽信息;对cookie的支持;其他自定义对象,如XMLHttpRequest和IE的ActiveXObject。总结:

JavaScript是一门用来与网页交互的脚本语言,包含以下三个组成部分:

ECMAScript:由ECMA-262定义并提供核心功能。文档对象模型(DOM):提供与网页内容交互的方法和接口。浏览器对象模型(BOM):提供与浏览器交互的方法和接口。

同时JavaScript 属于解释型语言

JavaScript是一门解释型语言 同时也是一种泛型语言,所谓解释型值语言是指不需要被编译为机器码在执行,而是直接执行。由于少了编译这一步骤,所以解释型语言开发起来尤为轻松,但是解释型语言运行较慢也是它的劣势。不过解释型语言中使用了JIT技术,使得运行速度得以改善。

目前 JavaScript的这三个部分得到了五大Web浏览器(IE、Firefox、Chrome、Safari和Opera)不同程度的支持。所有浏览器基本上对ES5(ECMAScript 5)提供了完善的支持,而对ES6(ECMAScript 6)和ES7(ECMAScript 7)的支持度也在不断提升。这些浏览器对DOM的支持各不相同,但对Level 3的支持日益趋于规范。HTML5中收录的BOM会因浏览器而异,不过开发者仍然可以假定存在很大一部分公共特性。

🚵‍♂️ 博主座右铭:向阳而生,我还在路上! —————————————————————————————— 🚴博主想说:将持续性为社区输出自己的资源,同时也见证自己的进步! —————————————————————————————— 🤼‍♂️ 如果都看到这了,博主希望留下你的足迹!【📂收藏!👍点赞!✍️评论!】 ——————————————————————————————

本文链接地址:https://www.jiuchutong.com/zhishi/288111.html 转载请保留说明!

上一篇:珀泽申群岛上的阿德利企鹅,南极洲 (© Tui De Roy/Minden Pictures)

下一篇:塞巴斯蒂安电影节举办地:圣塞巴斯蒂安和库尔萨尔文化中心 (© Aljndr/iStock/Getty Images Plus)(塞巴斯蒂安电影 豆瓣)

  • 微信防误触怎么关闭(微信防误触怎么开)

    微信防误触怎么关闭(微信防误触怎么开)

  • win10游戏模式有用吗(win10游戏模式有用没有)

    win10游戏模式有用吗(win10游戏模式有用没有)

  • 一加7pro可以用5g网吗(一加7pro可以用65w快充吗)

    一加7pro可以用5g网吗(一加7pro可以用65w快充吗)

  • 华为荣耀20s手机电池容量(华为荣耀20S手机忘了屏幕锁)

    华为荣耀20s手机电池容量(华为荣耀20S手机忘了屏幕锁)

  • x卡住了关机都关不了(x突然卡住了 机都关不了)

    x卡住了关机都关不了(x突然卡住了 机都关不了)

  • 克拉克拉直播可以回放吗(克拉克拉直播可以横屏吗)

    克拉克拉直播可以回放吗(克拉克拉直播可以横屏吗)

  • 手机wps文件显示问号(手机wps文件显示不全怎么办)

    手机wps文件显示问号(手机wps文件显示不全怎么办)

  • 美团怎么上线自己的商店(美团外卖怎么上店自取)

    美团怎么上线自己的商店(美团外卖怎么上店自取)

  • 手机交费了为什么还是停机状态(手机交费了为什么还是停机)

    手机交费了为什么还是停机状态(手机交费了为什么还是停机)

  • 手机在线wifi什么意思(手机在线wifi和在线wifi)

    手机在线wifi什么意思(手机在线wifi和在线wifi)

  • 抖音头像为什么被自动换掉了(抖音头像为什么变成空白人头了)

    抖音头像为什么被自动换掉了(抖音头像为什么变成空白人头了)

  • 直播推流用显卡还是CPU(直播推流显卡需要什么型号最好)

    直播推流用显卡还是CPU(直播推流显卡需要什么型号最好)

  • 苹果手机删除照片不在最近删除里(苹果手机删除照片还能恢复吗)

    苹果手机删除照片不在最近删除里(苹果手机删除照片还能恢复吗)

  • 华为荣耀9X如何打开隐私空间(华为荣耀9x如何恢复出厂设置)

    华为荣耀9X如何打开隐私空间(华为荣耀9x如何恢复出厂设置)

  • c11和dtp的区别(7pc11和dtp的区别)

    c11和dtp的区别(7pc11和dtp的区别)

  • 手机指纹解锁不灵敏是怎么回事(手机指纹解锁不见了怎么办)

    手机指纹解锁不灵敏是怎么回事(手机指纹解锁不见了怎么办)

  • 定位快捷键ctrl加什么(定位快捷键怎么用)

    定位快捷键ctrl加什么(定位快捷键怎么用)

  • 华为rneal00叫什么(华为rneal00手机 价格)

    华为rneal00叫什么(华为rneal00手机 价格)

  • 封了的微信怎么取消实名认证(封了的微信怎么解绑银行卡)

    封了的微信怎么取消实名认证(封了的微信怎么解绑银行卡)

  • airpods轻敲什么位置(airpods轻敲哪个位置)

    airpods轻敲什么位置(airpods轻敲哪个位置)

  • 电脑wps怎么分享(电脑wps怎么分享文件到微信)

    电脑wps怎么分享(电脑wps怎么分享文件到微信)

  • 淘宝双十二满减多少(淘宝双十二满减活动什么时候开始)

    淘宝双十二满减多少(淘宝双十二满减活动什么时候开始)

  • 快手喜欢怎么置顶作品(快手我喜欢的怎么设置别人可见)

    快手喜欢怎么置顶作品(快手我喜欢的怎么设置别人可见)

  • 钉钉怎么关闭打卡声音(钉钉怎么关闭打卡拍照功能)

    钉钉怎么关闭打卡声音(钉钉怎么关闭打卡拍照功能)

  • 摄像头3mp5mp什么意思(摄像头3mp是什么意思?)

    摄像头3mp5mp什么意思(摄像头3mp是什么意思?)

  • 注册表添加开机启动项(注册表怎么启动)

    注册表添加开机启动项(注册表怎么启动)

  • Mac系统怎么在侧栏监控系统资源?(mac侧边栏设置)

    Mac系统怎么在侧栏监控系统资源?(mac侧边栏设置)

  • 若依框架前端切换TagView时刷新问题(若依框架用到的技术)

    若依框架前端切换TagView时刷新问题(若依框架用到的技术)

  • 天猫提现一直没到账
  • 养鸡增值税税率是多少
  • 企业利润对外投资 所得税
  • 中国进口货物完税价格表
  • 未分配利润具体内容
  • 公司福利可以抵扣所得税吗
  • 银行回单日期晚于做账日期
  • 材料采购二级科目
  • 公司收到的拆迁补偿款计入哪个科目
  • 分公司办理税务需要什么东西
  • 独资企业要交税吗
  • 固定资产正常报废如何处理
  • 营改增后接受实物投资是否需要缴纳增值税?
  • 公允价值变动损益是什么意思
  • 一个季度又叫什么
  • 银票和承兑的区别
  • 固定资产折旧计入成本还是费用
  • 收到未到期的银行承兑汇票会计分录
  • 购销行为是什么
  • 付下一年房租会计分录
  • 单位发的奖金怎样交个税
  • 个人银行卡转公账怎么转
  • 融资租赁房产如何缴纳房产税
  • 资产评估合同属于什么合同
  • bios咋进入
  • 结转采购材料的实际成本会计分录怎么写
  • 新成立企业什么时候有财务报表
  • laravel批量更新数据
  • php 字符串函数
  • 营改增之前没有增值税吗
  • 原始凭证丢了怎么查帐
  • 发票认证了但是没收到票怎么处理
  • uniapp接入支付宝
  • PHP:checkdate()的用法_Date Time函数
  • yii2框架中文手册
  • 金融工具减值的范围包括哪些?
  • 中世纪城门
  • web实训报告怎么写
  • vuexy
  • 前端es2020
  • PHP中使用什么关键字声明变量的作用域为全局
  • 收到外币汇款怎么处理
  • 固定资产清理需要交企业所得税吗
  • 政府补助的核算内容有哪些
  • 事业单位相关规定有哪些
  • 关于翡翠手镯知识
  • mysql 执行动态语句
  • 企业信息联网核查系统的意义
  • 建筑企业增值税怎么算
  • 独资合伙企业的特点
  • 在建工程如何结转到产品
  • 福利费14%的规定
  • 物流公司驾驶员安全教育培训
  • 代理运费增值税税率
  • 汽车行业的保险返点怎么算
  • 预付卡发票能不能走福利账户
  • 应收的借方和应付的贷方相等
  • 固定资产报废需要税务备案吗
  • 如何创建桌面快捷方式电脑
  • xp系统设置锁屏
  • 强制结束进程命令快捷键
  • ubuntu怎么设置开机自启动程序
  • 系统用户在哪里
  • xp管理员账号密码
  • Centos 6.5 x86_64 安装或者设置花生壳ddns的技巧
  • centos7网卡
  • ServiceLayer.exe - ServiceLayer是什么进程 有什么用
  • win7 64位旗舰版电脑鼠标如何才能设置成左手操作?设置鼠标为左手操作的方法
  • windows8中文版是什么版本
  • echarts怎么样
  • nodejss
  • 有道词典下载安装
  • jquery的validate前端表单验证
  • 深圳少儿电子医保卡怎么用
  • 中国个人所得税是多少?
  • 现行的企业所得税率是多少
  • 全国税务稽查会议
  • 金税工程什么意思
  • 小店区税务大厅
  • 按季申报印花税怎么申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设