Javascript是一种由网景公司(Netscape)的LiveScript发展而来的原型化继承的面向对象的动态类型的客户端脚本语言,开发的的初衷是为了解决服务器端语言,遗留的速度问题,为客户提供更流畅的浏览效果。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能。
而后来基本所有的浏览器都提供了对Javascript的支持。这不仅是因为javascript对前台验证提供了快速可靠的验证,更重要的是它在用户体验上有力质的飞跃,我们可以看到浏览器上绚烂的效果。比如,图片的轮播。动态的按钮等等,javascript全都可以实现,甚至一些简单的红白机游戏都可以实现,而此时服务器并不需要任何工作,只要客户装了浏览器就可以实现。
但是上边的所述还仅仅是Web1.0的时代,那时javascript实现的主要还是前台一些效果,仅仅为了减轻服务器负担和增加一些动态的效果。目前的javascritp已经可以完全取代了C/S架构中的客户端,它可以完成传统客户端的所有操作,而不需要强制用户去安装任何软件,这使得越来越多的传统软件公司选择了B/S架构,从而推动了javascript的继续发展。
javascript迈入鼎盛时刻的时候,却是一次偶然的机会。1998年网景公司就开发出了一个可以用javascript向服务器发送请求的技术(HttpXmlRequest,HttpXmlResponse),该技术在1998年前后得到了应用。允许客户端脚本发送HTTP请求(XMLHTTP)的第一个组件由Outlook Web Access小组写成。该组件原属于微软Exchange Server,并且迅速地成为了Internet Explorer 4.0的一部分。部分观察家认为,Outlook Web Access是第一个应用了Ajax技术的成功的商业应用程序,并成为包括Oddpost的网络邮件产品在内的许多产品的领头羊。
但是当时并没有多少人意识到有多大作用,直到Jesse James Gaiiett发表了《Ajax: A New Approach to Web Applications》文章开始,Ajax这个单词被创建出来的时候,javascript才开始了真正的革命,从GoogleMap,到youtobe的视频,javascript在一夜之间将Web推入轰轰烈烈的2.0时代,于是,游戏,视频,音乐等等各种各样的数据都可以由javascript来完成,同时还因为它本身对HTML、CSS的灵活操作,使得他的效果比传统软件更加的绚烂,用户在发送一个请求时,并不需要新开一个页面,只需要由javascript“偷偷”的发送一个请求,然后将返回的数据通过操作html表现出来。这样丰富,人性化的客户体验,以及对服务器返回数据的精简,使得javascript迅速的走入人们的视线。
javascript 是一种脚本语言,它最终由浏览器解释执行,而不需要“编译”的复杂过程,正是因为它的学习简单,灵活,使得它的进步更加快速。
javascript的特点如下:
基于原型:原型是指对象本身的结构,相当于java中的基类,不同的时,基于原型的继承,子类会获取到原型(基类)的属性和方法,同时在获取到原型来选择扩展,在javascript中也是单根继承的方式,所有的对象都是都是继承自Object,也可以说Object是所有对象的原型。
弱类型:一种定义时变量类型可以被忽略的语言。
解释型语言:解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。解释是逐行的翻译。