IT杂谈 | 了解JavaScript,还原JavaScript的真实历史

2017-10-09

JiangRen Mr

JavaScript的江湖地位

说到历史,肯定要先了解一下JavaScript现在的江湖地位,毕竟咱们匠人圈的Web开发课程不是随随便便什么都教的😄。

据统计,到2017年5月,有94.5%的知名网站都是用JavaScript开发的,JS,HTML和CSS作为三个Web开发必备技术,开发了世界上数十亿的网站。而且现在JavaScript的发展,JS不仅仅局限于前端开发,更广阔的应用前景,涵盖了现在所有的浏览器类型,成为名副其实的Web开发第一语言。

学好JS,走遍天下都不怕!

JavaScript的诞生

JavaScript因为互联网而生,紧随着浏览器的出现而问世。回顾它的历史,就要从浏览器的历史讲起。

1990年底,欧洲核能研究组织(CERN)科学家Tim Berners-Lee,在互联网的基础上,发明了万维网(World Wide Web),从此可以在网上浏览网页文件。最早的网页只能在操作系统的终端里浏览,也就是说只能使用命令行操作,网页都是在字符窗口中显示,这当然非常不方便。

 

1992年底,美国国家超级电脑应用中心(NCSA)开始开发一个独立的浏览器,叫做Mosaic。这是人类历史上第一个浏览器,从此网页可以在图形界面的窗口浏览。

 

1994年10月,NCSA的一个主要程序员Marc Andreessen联合风险投资家Jim Clark,成立了Mosaic通信公司(Mosaic Communications),不久后改名为Netscape。这家公司的方向,就是在Mosaic的基础上,开发面向普通用户的新一代的浏览器Netscape Navigator。

 

Netscape公司很快发现,Navigator浏览器需要一种可以嵌入网页的脚本语言,用来控制浏览器行为。当时,网速很慢而且上网费很贵,有些操作不宜在服务器端完成。比如,如果用户忘记填写“用户名”,就点了“发送”按钮,到服务器再发现这一点就有点太晚了,最好能在用户发出数据之前,就告诉用户“请填写用户名”。这就需要在网页中嵌入小程序,让浏览器检查每一栏是否都填写了。

 

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

 

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

1995年5月,Brendan Eich只用了10天,就设计完成了这种语言的第一版。它是一个大杂烩,语法有多个来源:

 

基本语法:借鉴C语言和Java语言。

数据结构:借鉴Java语言,包括将值分成原始值和对象两大类。

函数的用法:借鉴Scheme语言和Awk语言,将函数当作第一等公民,并引入闭包。

原型继承模型:借鉴Self语言(Smalltalk的一种变种)。

正则表达式:借鉴Perl语言。

字符串和数组处理:借鉴Python语言。

 

Netscape公司的这种浏览器脚本语言,最初名字叫做Mocha,1995年9月改为LiveScript。12月,Netscape公司与Sun公司(Java语言的发明者和所有者)达成协议,后者允许将这种语言叫做JavaScript。这样一来,Netscape公司可以借助Java语言的声势,而Sun公司则将自己的影响力扩展到了浏览器。

 

1995年12月4日,Netscape公司与Sun公司联合发布了JavaScript语言。

1996年3月,Navigator 2.0浏览器正式内置了JavaScript脚本语言。

从1995年到2017年,JavaScript一共更行了12个版本👇

 

JavaScript与Java的关系

 

JavaScript和Java是两种不一样的语言,但是它们之间确实有点联系。

 

JavaScript的基本语法和对象体系,是模仿Java而设计的。但是,JavaScript没有采用Java的静态类型。正是因为JavaScript与Java有很大的相似性,所以这门语言才从一开始的LiveScript改名为JavaScript。基本上,JavaScript这个名字的原意是“很像Java的脚本语言”。

 

在JavaScript语言中,函数是一种独立的数据类型,以及采用基于原型对象(prototype)的继承链。这是它与Java语法最大的两点区别。JavaScript语法要比Java自由得多。另外,Java语言需要编译,而JavaScript语言则是运行时由解释器直接执行。

 

总之,JavaScript的原始设计目标是一种小型的、简单的动态语言,与Java有足够的相似性,使得使用者(尤其是Java程序员)可以快速上手。

 

我就说嘛,了解点JAVA还是有用滴!

如何学习JavaScript

虽然JS是简单易入门,但是想要学好学精还是非常困难的,那学习JavaScript有什么又快又好的方法呢?

重头来了

匠人圈十余位IT大咖倾心打造的Web developer培训班,带你从无到有,从有到精,成为下一个JS大咖。三个不同班级,面对不同背景的学员,提供商业项目开发级别培训。

 

培训课程:Web Developer培训入门班

适合人群:零基础

开课时间:2017年11月25日

地点: Level 3 / 57 Coronation Drive, Brisbane

课程时长:60小时,十周

价格(含Recording):

线下 原价 $4000, Early Bird $3500

线上 原价 $3000, Early Bird $2000

优惠截止日期: 11月10日

 

培训课程:Web Developer培训基础班

适合人群:初级

开课时间:2017年11月25日

地点: 

布里斯班:Level 3 / 57 Coronation Drive, 

悉尼:WeWork, Sydney

课程时长:72小时, 12周

价格(含Recording):

线下 原价 $4500, Early Bird $3500

线上 原价 $3500, Early Bird $2000

优惠截止日期: 11月10日

 

培训课程:React.js 培训班

适合人群:初级/中级

开课时间:

悉尼:11月

墨尔本:2018年1月

布里斯班:2018年3月

课程时长:72小时, 12周

价格(含Recording):

线下 原价 $4500, Early Bird $3500

近期开课hot
logo

Follow Us

linkedinfacebooktwitterinstagramweiboyoutubebilibilitiktokxigua

We Accept

/image/layout/pay-paypal.png/image/layout/pay-visa.png/image/layout/pay-master-card.png/image/layout/pay-stripe.png/image/layout/pay-alipay.png

地址

Level 10b, 144 Edward Street, Brisbane CBD(Headquarter)
Level 8, 11 York st, Wynyard, Sydney CBD
Business Hub, 155 Waymouth St, Adelaide SA 5000

Disclaimer

footer-disclaimerfooter-disclaimer

JR Academy acknowledges Traditional Owners of Country throughout Australia and recognises the continuing connection to lands, waters and communities. We pay our respect to Aboriginal and Torres Strait Islander cultures; and to Elders past and present. Aboriginal and Torres Strait Islander peoples should be aware that this website may contain images or names of people who have since passed away.

匠人学院网站上的所有内容,包括课程材料、徽标和匠人学院网站上提供的信息,均受澳大利亚政府知识产权法的保护。严禁未经授权使用、销售、分发、复制或修改。违规行为可能会导致法律诉讼。通过访问我们的网站,您同意尊重我们的知识产权。 JR Academy Pty Ltd 保留所有权利,包括专利、商标和版权。任何侵权行为都将受到法律追究。查看用户协议

© 2017-2024 JR Academy Pty Ltd. All rights reserved.

ABN 26621887572