javascript语言历史
起初,web站点事实上只不过是一个静态的HTML文档集,这些文档之间仅依靠一些简单的超链接(Hyperlinks)绑定在一起。
但很快,随着Web业务的快速普及和增长,网站管理者越来越希望自己所创建的Web页面能处理更多的事情。
1、网站具有更丰富的用户交互能力,以便能完成一些简单的任务(比如验证表单之类),加强与服务器端的信息交互。
2、java applets和LiveScript 其中,livescript就是1995年由Netscape公司开发的程序设计语言
Netscape 2.0之后,它正式被更名为Javascript
3、不久,这种对Web页面中静态元素进行扩展方式就在业界大放异彩,令其他的浏览器厂商也纷纷效仿,推出自己的类似产品。
该语言在Javascipt的基础上引入了一些IE独有的特性。
4、为了使语言的实现更趋向于标准化,一个叫做ECMAScript(欧洲计算机制造商协会)的组织应运而生了。
目前在业界广为流行的JavaScript也只是遵守该标准的一种实现而已。
5、javascript在随后爆发的第一次浏览器大战中得到了迅速的普及,那时正值互联网发展的第一波繁荣期,主要由Netscape和Microsoft
这两大浏览器厂商在争夺市场份额。
6、在此过程中,他们不断地往各自的浏览器中添加新的特性和各种版本的Javascript实现。但他们彼此之间又缺乏共同遵守的标准,
这给Javascript的开发带来大量的负面影响,也给开发人员带来巨大的痛苦。
7、在这种情况下,我们通常只能针对某一个具体的浏览器来编写脚本。
8、如果我们把在这个浏览器上开发的脚本拿到其他浏览器上测试,就会发现它们完全不能工作,与此同时,由于浏览器厂商都在忙于继续增加新的
浏览器特性,以至于根本没能及时更新相应的工具,这导致了开发工具的严重滞后。
9、尽管浏览器厂商引入的不兼容性使web开发人员感到难以忍受,但这还只是问题的一个方面。而另一方面的问题则出在开发人员自己身上。
他们在自己的Web页面中使用了太多的新特性,总是迫不及待地想引入浏览器提供的每一项新功能,以“加强”自己的页面。例如状态栏中的动画,
闪烁的颜色,闪烁的文本,会摇晃的浏览器窗口,屏幕上的雪花效果,能跟踪对象的鼠标光标等,而这往往都是以牺牲实用性为代价的。
这种滥用现象极大的损坏了Javascript在业界的名声,以至于那些“真正的程序员”(这里特指那些具有更成熟的编程语言背景的开发人员,例如Java或C/C++程序员)
对Javascript根本不屑一顾,或者仅仅把它当做一种用于前端设计的玩具。
10、出于上述原因,javascript语言在一些Web项目中遇到了强烈抵制。某些项目甚至完全拒绝在客户端上进行任何的程序设计,转而只信任他们自己可以
掌控的服务器端。确实,在当时的情况下,也没有什么理由值得我们花双倍的时间来为这些不同的浏览器设计项目,然后再花更多的时间去调试他们。
11、这种情况一直持续到第一次浏览器大战结束。但在随后的几年中,Web开发领域在一系列历史进程的推动下,终于发生了一些非常积极的变化。
12、web标准在移动开发领域的重要性在开发人员和浏览器厂商那里得到一致的认可。这是很自然的,毕竟对于开发人员来说,谁也不想因为不同的浏览器
而花费双倍甚至更多的开发时间。这促使各方都越来越倾向于遵守统一的开发标准。
13、尽管目前,我们离建立一个完全统一的标准化环境,还有很长的路要走,但目标已经很明确了。
14、如今的javascript已经成为一种成熟的,在某些方面独一无二的,具有强大原型体系的面向对象语言。关于这一点,最好的例子莫过于是对XMLHttpRequest对象
,javascript可以用Http请求的形式从服务器上获得所需的新鲜内容,实现了页面的局部更新。这样一来,我们就不必每次都刷新整个页面,随着XMLHttpRequest
对象的广泛应用,一种类桌面式的Web应用程序模式诞生了,我们称之为AJAX的应用程序。
javascript语言历史的更多相关文章
- JavaScript 语言的历史
说明:此类博客来自以下链接,对原内容做了标注重点知识,此处仅供自己学习参考! 来源:https://wangdoc.com/javascript/basic/introduction.html 1.诞 ...
- Javascript的历史
阅读了JavaScript dom简史,从网上看了下,学问很深啊. 首先简单说下网景公司(Netscape)的发展史:1993年,美国国家超级计算机应用中心(NCSA),发表了一个浏览器,命名为“Mo ...
- 《JavaScript语言精粹》学习笔记
一.in的用法 for...in 枚举一个对象的所有可枚举属性 检测DOM/BOM属性 if ("onclick" in elem) { // 元素支持onclick } if ( ...
- js 函数声明方式以及javascript的历史
1.function xx(){} 2.匿名方式 window.onload=function(){dslfjdslfkjdslf}; 3.动态方式 var demo=new Function ...
- JavaScript 语言精粹读书笔记
最近在看 赵泽欣 / 鄢学鹍 翻译的 蝴蝶书, 把一些读后感言记录在这里. 主要是把作者的建议跟 ES5/ES5.1/ES6 新添加的功能进行了对比 涉及到的一些定义 IIFE: Immediatel ...
- javascript的历史和入门
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JavaScript的历史由来及简介
JavaScript的历史由来及简介 前言 这次写一篇对于JavaScript的简介,我们知道的编程语言有很多种,比如Java.C++.Python等等,每种编程语言都有其独具的特色,不论是语法格式还 ...
- 《JavaScript语言入门教程》记录整理:入门和数据类型
目录 入门篇 js介绍 历史 基本语法 数据类型 概述 null 和 undefined 数值 字符串 对象 函数 数组 本系列基于阮一峰老师的<JavaScrip语言入门教程>或< ...
- 《JavaScript语言入门教程》记录整理:面向对象
目录 面向对象编程 实例对象与 new 命令 this关键字 对象的继承 Object对象的方法 严格模式(strict mode) 本系列基于阮一峰老师的<JavaScrip语言入门教程> ...
随机推荐
- 【BZOJ2238】Mst 最小生成树+LCA+堆
[BZOJ2238]Mst Description 给出一个N个点M条边的无向带权图,以及Q个询问,每次询问在图中删掉一条边后图的最小生成树.(各询问间独立,每次询问不对之后的询问产生影响,即被删掉的 ...
- Xamarin.Forms学习之位图(二)
上篇文章分享了如何加载网络图片和PCL中的图片,所以今天继续分享关于如何加载平台的内嵌图片,在这之前说一下上篇文章开头的一个问题:为什么不能加载UWP项目,这是因为我升级了UWP的SDK,而Xamar ...
- <2013 06 24> 关于Zigbee项目_Munik_TUM_eCar
(本月)6月4号到德国慕尼黑,参与TUM大学的一个电动车项目组,预计时间3个月. 我的任务是参与wireless的研究,主要就是用无线链接取代有线链接(汽车线缆很多很讨厌). 使用的是TI MP430 ...
- SQL Server 2008 收缩日志 清空删除大日志文件
SQL2008 的收缩日志 由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消: (SQL2005) BackupLog DNName ...
- C语言中的const,free使用方法具体解释
注意:C语言中的const和C++中的const是有区别的,并且在使用VS编译測试的时候. 假设是C的话.请一定要建立一个后缀为C的文件.不要是CPP的文件. 由于.两个编译器会有区别的. 一.C语言 ...
- windows 安装 python _ flask
1:首先安装python虚拟环境;(略) 2: 添加一个虚拟环境: 在你的项目目录里直接 virtualenv venv 启动虚拟环境;\venv\Scripts 直接运行activate 3: 在虚 ...
- [转载]Spring中MultipartHttpServletRequest实现文件上传
实现图片上传 用户必须能够上传图片,因此需要文件上传的功能.比较常见的文件上传组件有Commons FileUpload(http://jakarta.apache.org/commons/file ...
- Vuex核心知识(转)
转:http://www.cnblogs.com/ghost-xyx/p/6380689.html Vuex 是一个专门为 Vue.js 应该程序开发的状态管理模式,它类似于 Redux 应用于 Re ...
- 使用C# .NET 将结构数组绑定到 Windows 窗体的方法
本任务的内容 概要 要求 设计结构 向数组添加结构实例 将结构成员绑定到窗体控件 提供浏览数组的方式 分步示例 参考 概要 本文介绍如何向 Windows 窗体绑定结构数组. 该示例由一个 Win ...
- JavaWeb:JSP标准标签库
JavaWeb:JSP标准标签库 说明 什么是JSTL? JSP标准标签库(JavaServer Pages Standard Tag Library,JSTL)是一个定制的标签库的集合,用来解决像遍 ...