3.1 Javascript简介

JavaScript的前世今生

JavaScript一种直译式脚本语言,它的解释器被称为JavaScript引擎,是浏览器的一部分,即:JavaScript是由客户端的浏览器解释执行的。

遥想1994年网景公司(Netscape)在发布了Navigator之后,急于解决浏览器与用户交互这个问题,在1995年在网景公司高层的要求下,Javascript之父Brendan Eich只用了10天的时间发明了livescript, 由于网景高层是java的粉丝,或者说为了抱上当时热炒的java的大腿,LiveScript更名为javascript。
Brendan Eich
Javascript1995年5月定稿,12月推向市场,立刻被广泛接受,全世界的用户大量使用。 更糟的是,1996年8月,微软公司强势介入,宣布推出自己的脚本语言Jscript;11月,为了压制微软,网景公司决定申请Javascript的国际标准;1997年6月,第一个国际标准ECMA-262正式颁布。
浏览器与用户相互的迫切需要下,javascript发展的太快了,Javascript的规格还没来及调整,就固化了。相比之下,C语言问世将近20年之后,国际标准才颁布。
由于Javascript的发展非常快,根本没有时间调整设计。Javascript有很多缺陷,但是JavaScript 在前端的地位已经无可替代。

通常说的JavaScript 由核心(ECMAScript)和浏览器给JS提供的API(Web API)构成。
这些API中最基础和著名的就是DOM(文档对象模型)和BOM(浏览器对象模型),直到现在还有人说JavaScript=ECMAScript+DOM+BOM,其实现代浏览器为JS提供了很多API,除了DOM和BOM,还有用于从服务器获取数据的API,如XHR,Fetch,用于客户端存储的API,如:cookie,localStorage,用户数据管理的API,如IndexedDB,绘制和操作图形的API,如Canvas,地理定位API,音频和视频API等等。

ECMAScript(JavaScript语言的标准)的版本:

ECMAScript 1.0——1997年6月,第一个国际标准ECMA-262正式发布
ECMAScript 2.0——1998年6月发布
ECMAScript 3.0——1999年12月发布,,成为JavaScript的通行标准,得到了广泛支持。标志着 ECMAScript 成为一种真正的编程语言。
ECMAScript 4.0—— 2008年7月,各方分歧太大,ECMA开会决定,中止ECMAScript 4.0的开发。
ECMAScript 3.1—— 2008年7月对ES3有些增强,没有ES4那么激进
ECMAScript 5.0—— 2009.12发布, 同时发布JavaScript.next(ES 6.0),浏览器支持:Internet Explorer 9*,Firefox 4,Chrome 13,Safari 5.1**,Opera 11.60
ECMAScript 5.1—— 2011.06发布,成为ISO国际标准,这个规范在所有现代浏览器中都相当完全的实现了。
ECMAScript 6——2015年6月正式发布,ECMAScript 6(ES6)的发展速度非常之快,但现代浏览器对ES6新特性支持度不高,所以要想在浏览器中直接使用ES6的新特性就得借助别的工具来实现。 可以使用babelES6代码完美地转换为ES5代码,所以我们不用等到浏览器的支持就可以在项目中使用ES6的特性。

二、JavaScript的构成

核心(ECMAScript)

由ECMA-262定义的ECMAScript其实与Web浏览器没有依赖关系。Web浏览器只是ECMAScript实现可能的宿主环境之一,其他宿主环境还包括Node和Adobe Flash。
ECMA-262定义的这门语言的基础,在此基础上能构建更完善的脚本语言。

ECMA-262标准主要规定了JavaScript的以下组成部分:
1.语法,2.类型,3.语句,4.关键字,5.保留字,6.操作符,7.对象。

宿主环境

javascript只能寄生在某个具体的环境才能够工作,javascript运行环境一般都由宿主环境和执行期环境构成,其中宿主环境是由外壳程序生成的,如浏览器就是一个外壳程序,它提供了一个可控制浏览器窗口的宿主环境。执行期环境则有嵌入到外壳程序中的javascript引擎生成,在这个环境中javascript能够生成内置静态对象和初始化执行环境等。

javascript是一种脚本语音,它本身不提供I/O(输入和输出)接口,也没有与系统和外界通信的能力,更不能操作外围设备、管理内存、修改注册表等行为,这些功能全部交给宿主环境完成的,例如,在客户端浏览器(外壳程序)的宿主环境中,Javascript通过window对象的alert()方法及document对象的write()和writeIn()方法输出信息,而借助window的prompt()方法接收信息。

不仅web浏览器是外壳程序,只要能提供javascript引擎执行的环境都可以做外壳程序。比如,服务器,桌面应用系统也都能够允许JavaScript引擎执行的运行环境,这些运行环境也是宿主环境。

浏览器给JS提供的API

web浏览器允许javascript引擎通过接口对其进行控制,并通过DOM组件实现对HTML和XML文档的操作。

二、JavaScript的特点

JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有相对安全性的客户端脚本语言,是一种广泛用于客户端Web开发的脚本语言。

1、解释性:javascript是一种解释语言,源代码不需要经过编译,直接在浏览器上运行时被解释。

2、基于对象:JavaScript语言并不是严格意义的面向对象语言,和传统的强类型的面向对象语言有一定的差异。在JS中,一切都是对象,属性、数组、函数等等都是对象。

3、弱类型:JavaScript变量声明的时候不用规定是什么类型的,用的时候它根据你赋值判断类型

4、事件驱动:JavaScript对用户的响应,是以事件驱动的方式进行的。在网页(Web Page)中执行了某种操作所产生的动作,被称为“事件”(Event)。例如按下鼠标、移动窗口、选择菜单等都可以被视为事件。当事件发生后,可能会引起相应的事件响应,执行某些对应的脚本,这种机制被称为事件驱动。

5、跨平台:JavaScript依赖于浏览器本身,与操作环境无关。只要能运行浏览器的计算机,并支持JavaScript的浏览器就可以正确执行。

6、安全性:JavaScript是一种安全性语言。它不允许访问本地的磁盘,并不能将数据存入服务器上;不允许对网络文本进行修改和删除,只能通过浏览器实现信息浏览或动态交互。可有效的防止数据丢失。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值