- 什么是JavaScript
Web标准分为3个部分:分为结构(HTML),样式(CSS),行为(JavaScript),在ES6之前,JS被认为是一门Web脚本语言。但是在从ES6开始,JS已经成为了一门通用的编程语言。
JS学习成本低,容易上手,不需要搭建复杂的开发环境。但是,JS同时也是一门比较棘手的语言。解释这一点,需要从JS的发展史开始讲。
2.JavaScript的发展史
从4个阶段来讲JS的发展史
第一阶段:JavaScript的起源
第二阶段:第一次浏览器大战
第三阶段:第二次浏览器大战
第四阶段:JavaScript蓬勃发展
(1) 第一阶段:JavaScript起源
早期上网的时候,由于网速很慢,就会造成用户提交一个表单要等待很久。JS最初被设计出来就是为了解决这个问题的。
当时有一家公司,叫做网景公司。这家公司是世界上第一个将浏览器作为商用的公司。该公司下面的一个叫做布兰登·艾奇的人,开始开发JavaScript。他开发JS只用了10天时间。JS的语法借鉴了Perl,C,Java,self等编程语言。但是,这门编程语言由于开发只花了10天时间,所以导致这门语言存在很多问题。并且有些问题遗留到至今都没有解决。
最早JavaScript的名字叫做livescript。由于当时网景公司和sun公司和合作关系,并且因为Java在当时非常的火,所以在发布之前临时决定改名为JavaScript。
由于当时JS实现了客户端表单验证,所以一下子就火了。JS获得了巨大成功。当时的业界霸主微软想要收购网景公司,但是被拒绝了。于是微软就自己搞了一个Jscript出来。考虑到当时的VB程序员非常多,所以还顺便搞了一个VBScript出来。
至此,网景公司和微软就开始了浏览器大战。
(2) 第一次浏览器大战
网景公司和微软公司为了争夺浏览器市场,都在自己的语言里面添加新的东西。但是最尴尬的是新的东西效果基本一样,只是实现的具体方式不一样。所以这就导致程序员往往为了实现同一个功能,需要书写两份代码。
由于这门语言没有一个标准,所以导致这种情况。于是,在1997年的时候,以JavaScript1.1版本为基本,提交给了欧洲计算机制造协会(ECMA)。欧洲计算机制造协会指定下属的一个TC39小组来标准化这门语言,标准化出来的语言就叫做ECMAScript。
最终,由于微软将自家的IE浏览器内置到了操作系统里面,所以对于普通用户来讲,也就没有必要重新去装一款浏览器了。所以网景公司的浏览器市场份额大幅下降,最终导致网景公司破产。
微软公司赢得第一次浏览器大战之后,停止了对JS的开发,并且有很长一段时间,JS都是用于制作烦人的弹窗,漂浮的广告等,导致JS的口碑也下降,一度被人们所厌恶。
(3) 第三阶段:第二次浏览器大战
网景公司破产之后,里面的那波人成立了Mozill基金会。并且将网景浏览器的源代码给开源了。这就导致很多民间的高手主动来为这个浏览器写补丁。之后Mozilla于2002年在之前网景浏览器的基础推出了火狐浏览器。
回头我们来看一下JavaScript。在第一次浏览器大战结束后,JS的名声是相当不好的,但是到了2005年,JS的命运彻底被改变。Google公司推出了一门技术,叫做Ajax。这个Ajax可以实现异步无刷新。Ajax的出现,大大提升了用户的上网体验,可以无刷新得 改变页面内容。而Ajax中最核心的东西,就是JavaScript。
第二次浏览器大战参战的并不只是微软和Mozilla,还有苹果的Safari的浏览器,opera浏览器,以及谷歌于2008年推出的谷歌浏览器。
第二次浏览器大战可以说是标准之战。因为这个时候,大家都意识到遵循标准的重要性。谁的浏览器更加接近标准,谁在市场上就能得到更高的认可。
(4) 第四阶段:JavaScript蓬勃发展
在2009年的时候,以google公司的V8引擎为基础,出现了一个叫做Node.js的东西,使用Node.js,甚至已经可以开始开发服务器端。
并且在在很多领域,都可以看到JS的身影。例如:Web开发,服务器端开发,桌面应用开发,移动端开发,HTML5游戏。
Jeff Atwood说过:凡是能够用JavaScript来写的应用,最终都必将用JavaScript来写。
接下来回到我们开头提的3个问题:
什么是JavaScript?
最早是一门浏览器脚本语言,但是从ES6开始,已经变为了一门通用的编程语言。
JavaScript和Java是关系?
没有关系
JavaScript和ECMAScript之间的关系
ECMAScript是这门语言的标准,然后JavaScript就是这个标准的实现。需要说明的是,实现了ECMAScript标准的语言并不只是JavaScript一个,例如ADOBE公司的ActionScript也是ECMAScript的实现。
3.JavaScript的版本介绍
JS的版本可以分为两种:一个就是JS版本,另外一个是ES版本。
目前为止,Mozilla作为网景公司精神的延续,还在坚持使用JS版本号。,如下:
Firefox 1.5 JS版本1.6
Firefox2 JS版本 1.7
ECMAScript版本
第1版:于1997年6月发布,本质上和JS 1.1相同
第2版:1998年6月发布,主要就是对JS进行了一个加工和编辑
第3版:1999年12月发布的,是ES里面变化比较大的。
第4版:由于在第4版里面添加了大量新的东西,导致太过激进,所以未被产用。与此同时,TC39下属的一个小组提出了一个叫做ES3.1的过渡版本
第5版:ES3.1的过渡版本最终成为了ES5,于2009年12月发布。
第6版:于2015年6月17日发布,这个ES6就是之前有争议的ES4。ES6的发布标志着JS正式成为一门通用的编程语言
4.JS的组成部分
JavaScript所指代的范围要比ECMAScript更加广泛。JavaScript可以将其分为3个部分:
核心(ECMAScript)
文档对象模型(DOM)
浏览器对象模型(BOM)
5.JS的特点
解释性语言
基于对象
跨平台
广泛领域的使用
6.搭建JavaScript开发环境
开发环境无外乎就是2种:书写代码的环境,运行代码的环境
书写代码的环境:可以分为文本级编辑器和集成开发环境(IDE)
运行代码的环境:浏览器 Node