12.1 JavaScript介绍

了解过一些编程的人都知道,有一门叫Java的编程语言,那么Java和JavaScript有什么关系呢?

打个比方,Java和JavaScript的关系就好像菠萝和菠萝蜜一样,也就是说,没啥关系。

Java和JavaScript是两门不同额编程语言,它们没有任何的血缘关系。

JavaScript是运行在浏览器中的一门脚本语言,提供了在运行时改变HTML的工具;而Java是一门通过解释的方式执行的编程语言。

为什么两者的名字那么相似?

在1994年,NetSpace公司发布了Navigator浏览器0.9,这是世界上第一款相对比较成熟的网络浏览器,在当时可以说是轰动一时,但是在现在看来啊,确实真的只是浏览器,只能看一些页面,完全没有用户交互。

浏览器无法互动,也就意味着当你登录网站输入完用户名就直接点击提交的时候,浏览器并不知道你有没有输入,只能发送给服务器去判断,然后才能给用户返回结果,这么一来二去,浪费了不少时间。

NetSpace特别想解决这个问题,当时有两种解决方案,一个是采用当时已经存在的语言,比如Python、C、Perl等等,运行它们直接嵌入网页并执行,另一个是开发一种全新的编程语言,专门用户浏览器用户交互。

次年,也就是1995年,大名鼎鼎的Sun公司将Oak语言改名为Java,并正式向市场推出,许诺这种语言可以“一次编写,到处运行”(Write Once, Run Anywhere),这让Java很快就在编程语言界家喻户晓。

NetSpace这时候就动了小心思,决定于Sun公司结为同盟,一开始允许Java程序以“小程序”的形式直接在浏览器中运行,后来还考虑直接将Java作为脚本语言嵌入网页,但是啊,这个Java的代码量也是十分感人,嵌入之后会使得HTML过于复杂,不得不放弃。

没有办法,第一条路走不通,NetSpace公司必须尝试第二条路,设计一种新的网页脚本语言,并且要与Java足够相似,还要比Java简单。

此时,JavaScript之父Brendan Eich登场了,1995年4月NetSpace录用了年仅34岁的他,目的就是设计这种“简化版Java”。
在这里插入图片描述

扫描二维码关注公众号,回复: 9574513 查看本文章

然而,Brendan Eich对Java一点感觉都没有,他的主要方向和兴趣是函数式编程和Scheme语言,为了应付公司给他安排的任务,他只用了10天时间就把JavaScript设计出来了,并在1995年12月有Sun公司和NetSpace公司联合发表。

大佬的效率我们比不了啊,这简直太疯狂了,但是由于设计时间太短,语言的细节考虑的不够严谨,导致在后来的很长一段时间,JavaScript程序都混乱不堪,经过这二十多年的改进,JavaScript发展为互联网第一大语言。

JavaScript的发展

在2003年之前,JavaScript被认为是“牛皮鲜”,用来制作网页上的广告,弹窗等,什么东西让人烦,JavaScript就开发什么东西,所以后来浏览器就推出了屏蔽广告功能。

2004年,JavaScript命运开始改变,谷歌公司开始带头使用Ajax技术,也就是异步交互,Ajax技术就是JavaScript的一个应用。

并且,那时候人们逐渐开始提升用户体验,Ajax有了一些应用场景。比如,当我们在百度搜索框搜文字时,输入框下方的提示就是通过Ajax实现。比如,当我们账号时,能够及时发现用户名是否被占用,而不用调到另外一个页面。

2007年乔布斯发布了第一款iPhone,从此之后用户就多了一条上网的途径,通过移动设备上网,JavaScript在移动页面中,也是不可或缺的。

并且这一年,互联网开始标准化,按照W3C规则三层分离,JavaScript越来越被重视。

2010年,人们更加了解HTML5技术,HTML5推出了一个东西叫做Canvas(画布),工程师可以在Canvas上进行游戏制作,利用的就是JavaScript。

2011年,Node.js诞生,使JavaScript能够开发服务器程序了。

React-native inoic

如今,WebApp已经非常流行,也就是用网页技术开发手机应用,。

现在流行手机系统有iOS、安卓,如果要开发一个App,就需要三队人马,iOS工程师,安卓工程师,前端工程师;而且如果要改版,要改3个版本。

而通过WebApp,用HTML+CSS+JavaScript技术就可以开发App,也易于迭代更新,网页一改变,所有的终端都变了。

ECMA Script

ECMAScript是一种由ECMA国际(前身为欧洲计算机制造商协会)通过ECMA-262标准化的脚本程序设计语言,可以理解为它是JavaScript的一个标准。

JavaScript的官方名称是ECMAScript 2015,Ecma国际意在更频繁地发布包含小规模增量更新的新版本,版本将按照ECMAScript+年份的形式发布。

ES6是继ES5之后的一次主要改进,语言规范由ES5.1时代的245页扩充至600页,ES6增添了许多必要的特性,例如:模块和类,以及一些实用特性,例如Maps、Sets、Promises、生成器(Generators)等。

尽管ES6做了大量的更新,但是它依旧完全向后兼容以前的版本,标准化委员会决定避免由不兼容版本语言导致的“web体验破碎”。

结果是,所有老代码都可以正常运行,整个过渡也显得更为平滑,但随之而来的问题是,开发者们抱怨了多年的老问题依然存在。

发布了695 篇原创文章 · 获赞 162 · 访问量 25万+

猜你喜欢

转载自blog.csdn.net/weixin_43336281/article/details/104564110
今日推荐