javascript主要是为了解决什么
javascript主要是为了解决服务器端语言遗留的速度问题,为客户提供更流畅的浏览效果。当时服务端需要对数据进行验证,由于网络速度相当缓慢,验证步骤浪费的时间太多;于是Netscape开发了Javascript,提供了数据验证的基本功能。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
Javascript是一种由Netscape的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能。
JavaScript的诞生背景
在上世纪90年代,欧美各国的web程序日益流行,但是当时用户上网还都在使用电话拨号上网,通过调制解调器,网速仅仅只有28kb/s。而web程序的展现却日渐丰富。当时在没有JavaScript的年代,表单验证等操作都是在服务器端执行的。
举个例子,用户进入到一个注册页面,填写用户名,密码,个人信息,点击注册,好,事大了。。。
发送信息,开始网络传输,等了十几秒,服务器接到浏览器客户端发送的信息,开始处理,然后把处理信息返回客户端浏览器,用户突然发现提示用户名填写要大写字母开头,修改,然后点击注册。。。
然后重复上一步,最后又提示密码太短,不够安全。仅仅一个简单的注册页面可能在表单验证花费大量时间,浪费带宽。这对用户是难以忍受的。
在这种背景下,社会急需一种客户端语言,来解决这类问题。当时处在科技前沿的Netscape(网景公司)开始着手开发一种客户端脚本语言。
1995 就职于Netscape的布兰登.爱奇在网景浏览器2.0中开发一个称之为 LiveScript 的脚本语言,为了赶上和媒体热炒Java的热潮,改名为JavaScript。从此JavaScript诞生。
JavaScript标准化
人怕出名猪怕壮,JavaScript一经推出在社会引起广泛关注,不同版本的JavaScript语言纷纷出来,当时比较流行的有:Netscape Navigator 3.0 中的 JavaScript、IE 中的 JScript 以及 CEnvi 中的ScriptEase。这对于程序员来说如果要开发一个对用户友好的web程序,或许兼容性就是一大工作量,毕竟有的用户用的浏览器各不相同,而内嵌的脚本语言也不相同。对于JavaScript标准化就凸显出来了。
在1997年,由sun,微软,等一些科学家,程序员,坐在一起开了个会,并制定了ECMA-262标准,规范化ECMAScript从此浏览器各大厂商将ECMAScript作为JavaScript实现的基础。
JavaScript的组成
JavaScript由ECMAScript、BOM、DOM三部分组成,其中ECMAScript为JavaScript的核心,规定了JavaScript的变量,类型,关键字,函数等基础语言。DOM为文档操作对象,是操作HTML,XML元素的接口;BOM为浏览器对象,可以对浏览器窗口进行访问和操作。
在ECMA262标准只定义了ECMAScriptd的标准,对于DOM。BOM并没有标准,BOM,DOM是属于宿主对象。
所谓的宿主就是JavaScript的运行环境,比如现在所看到的浏览器。不同的浏览器对于宿主对象略有差别,所以做前端面临最痛苦的兼容问题主要就是BOM和DOM引起的。
JS 可以做什么
JavaScript 可以用于 Web 开发的各个领域,例如:
Web 应用开发:日常生活中我们所浏览的网页都是由 HTML、CSS、JavaScript 构成的,通过 JavaScript 可以实时更新网页中元素的样式,并可以实现人与网页之间的交互(例如监听用户是否点击了鼠标或按下了某个按键等),还可以在网页中添加一些炫酷的动画;
移动应用开发:除了可以进行 Web 应用开发外,JavaScript 还可以用来开发手机或平板电脑上的应用程序,而且我们还可以借助一些优秀的框架(例如 React Native),让开发更加轻松;
Web 游戏:我们在网页中玩过的那些小游戏,都可以使用 JavaScript 来实现;
后端 Web 应用开发:以前我们都是使用 JavaScript 来进行 Web 应用程序前端部分的开发,但随着 Node.JS(一个 JavaScript 运行环境)的出现,使得 JavaScript 也可以用来开发 Web 应用程序的后端部分。
【相关推荐:javascript视频教程】
以上就是javascript主要是为了解决什么的详细内容,更多请关注其它相关文章!
上一篇: PHP PDO函数库(PDO Functions)_PHP
下一篇: PHP软件工程师