杂项:JavaScript

ylbtech-杂项:JavaScript
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,普遍用于客户端的脚本语言,最先是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增长动态功能。
在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。由于Netscape与Sun合做,Netscape管理层但愿它外观看起来像Java,所以取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。
为了取得技术优点,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript一样可在浏览器上运行。为了统一规格,由于JavaScript兼容于ECMA标准,所以也称为 ECMAScript
 
1. 组成部分返回顶部

言的语法和基本对象。
文档对象模型(DOM),描述处理网页内容的方法和接口
浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口javascript

 
2. 基本特色返回顶部
JavaScript是一种属于 网络的脚本语言,已经被普遍用于 Web应用开发,经常使用来 为网页添加各式各样的动态功能为用户提供更流畅美观的浏览效果。一般JavaScript脚本是经过 嵌入在HTML中来实现自身的功能的。
  1. 是一种解释性脚本语言(代码不进行预编译)。
  2. 主要用来向HTML(标准通用标记语言下的一个应用)页面添加 交互行为
  3. 能够直接嵌入HTML页面,但写成单独的js文件有利于 结构和行为的分离 
  4. 跨平台特性,在绝大多数浏览器的支持下,能够在多种平台下运行(如 Windows、Linux、Mac、Android、iOS等)。
Javascript脚本语言同其余语言同样,有它自身的基本数据类型,表达式和算术运算符及程序的基本程序框架。Javascript提供了 四种基本的数据类型和两种特殊数据类型用来处理数据和文字。而变量提供存放信息的地方,表达式则能够完成较复杂的信息处理。  
 
3. 平常用途返回顶部
  1. 嵌入动态文本于HTML页面。   
  2. 对浏览器事件作出响应。   
  3. 读写 HTML元素
  4. 在数据被提交到服务器以前验证数据。   
  5. 检测访客的浏览器信息 
  6. 控制cookies,包括建立和修改等 
  7. 基于Node.js技术进行服务器端编程 
 
4. 历史返回顶部
它最初由Netscape的Brendan Eich设计。JavaScript是甲骨文公司的注册商标。Ecma国际以JavaScript为基础制定了ECMAScript标准。JavaScript也能够用于其余场合,如服务器端编程。完整的JavaScript实现包含三个部分:ECMAScript,文档对象模型,浏览器对象模型。   
Netscape在最初将其脚本语言命名为 LiveScript,后来Netscape在与Sun合做以后将其更名为JavaScript。JavaScript最初受Java启发而开始设计的,目的之一就是“看上去像Java”,所以语法上有相似之处,一些名称和命名规范也借自Java。但JavaScript的主要设计原则源自Self和Scheme。JavaScript与Java名称上的近似,是当时Netscape为了营销考虑与Sun微系统达成协议的结果。为了取得技术优点,微软推出了JScript来迎战JavaScript的脚本语言。为了互用性,Ecma国际(前身为欧洲计算机制造商协会)建立了ECMA-262标准(ECMAScript)。二者都属于ECMAScript的实现。尽管JavaScript做为给非程序人员的脚本语言,而非做为给程序人员的脚本语言来推广和宣传,可是JavaScript具备很是丰富的特性。  
发展初期,JavaScript的标准并未肯定,同期有Netscape的JavaScript,微软的JScript和CEnvi的ScriptEase三足鼎立。1997年,在ECMA(欧洲计算机制造商协会)的协调下,由Netscape、Sun、微软、Borland组成的工做组肯定统一标准:ECMA-262。
 
5. 特性返回顶部
JavaScript脚本语言具备如下特色:
(1) 脚本语言。JavaScript是一种解释型的脚本语言,C、C++等语言先编译后执行,而JavaScript是在程序的运行过程当中逐行进行解释。
(2)基于对象。JavaScript是一种基于对象的脚本语言,它不只能够建立对象,也能使用现有的对象。
(3)简单。JavaScript语言中采用的是弱类型的变量类型,对使用的数据类型未作出严格的要求,是基于Java基本语句和控制的脚本语言,其设计简单紧凑。
(4)动态性。JavaScript是一种采用事件驱动的脚本语言,它不须要通过Web服务器就能够对用户的输入作出响应。在访问一个网页时,鼠标在网页中进行鼠标点击或上下移、窗口移动等操做JavaScript均可直接对这些事件给出相应的响应。
(5)跨平台性。JavaScript脚本语言不依赖于操做系统,仅须要浏览器的支持。所以一个JavaScript脚本在编写后能够带到任意机器上使用,前提上机器上的浏览器支 持JavaScript脚本语言,目前JavaScript已被大多数的浏览器所支持。  
不一样于服务器端脚本语言,例如PHP与ASP,JavaScript主要被做为客户端脚本语言在用户的浏览器上运行,不须要服务器的支持。因此在早期程序员比较青睐于JavaScript以减小对服务器的负担,而与此同时也带来另外一个问题:安全性。
而随着服务器的强壮,虽然程序员更喜欢运行于服务端的脚本以保证安全,但JavaScript仍然以其跨平台、容易上手等优点大行其道。同时,有些特殊功能(如 AJAX)必须依赖Javascript在客户端进行支持。随着引擎 如V8和框架如Node.js的发展,及其事件驱动及异步IO等特性JavaScript逐渐被用来编写服务器端程序。 
 
6. 编程返回顶部
JavaScript是一种脚本语言,其源代码在发往客户端运行以前不需通过编译,而是将文本格式的字符代码发送给浏览器由浏览器解释运行。直译语言的弱点是安全性较差,并且在JavaScript中, 若是一条运行不了,那么下面的语言也没法运行。而 其解决办法就是于使用try{}catch(){}
  console.log("a");//这是正确的
 console.log("b");//这是正确的
 console.logg("c");//这是错误的,而且到这里会停下来
 console.log("d");//这是正确的
 console.log("e");//这是正确的
 
 /*解决办法*/
 try{console.log("a");}catch(e){}//这是正确的
 try{console.log("b");}catch(e){}//这是正确的
 try{console.logg("c");}catch(e){}//这是错误的,可是到这里不会停下来,而是跳过
 try{console.log("d");}catch(e){}//这是正确的
 try{console.log("e");}catch(e){}//这是正确的
 
 
Javascript被归类为 直译语言,由于主流的引擎都是每次运行时加载代码并解译。 V8是将全部代码解译后再开始运行,其余引擎则是逐行解译( SpiderMonkey会将解译过的指令暂存,以提升性能,称为实时编译),但因为V8的核心部份多数用Javascript撰写(而SpiderMonkey是用C++),所以在不一样的测试上,二者性能互有优劣。与其相对应的是编译语言,例如C语言,以编译语言编写的程序在运行以前,必须通过编译,将代码编译为机器码,再加以运行。 
 
7. 版本返回顶部
JavaScript已经被 Netscape公司提交给 ECMA制定为标准,称之为 ECMAScript,标准编号ECMA-262。目前最新版为ECMA-262 5th Edition。符合ECMA-262 3rd Edition标准的实现有:
  1. Microsoft公司的 JScript.
  2. Mozilla的JavaScript-C(C语言实现),现名 SpiderMonkey
  3. Mozilla的 Rhino(Java实现)
  4. Digital Mars公司的DMDScript
  5. Google公司的 V8
版本 发布日期 基于 Netscape Navigator Mozilla Firefox Internet Explorer Opera Safari Google Chrome
1.0 1996年3月   2.0          
1.1 1996年8月   3.0   3.0      
1.2 1997年6月   4.0-4.05          
1.3 1998年10月 ECMA-262 1 edition / ECMA-262 2 edition 4.06-4.7x   4.0      
1.4     Netscape
  Server
         
1.5 2000年11月 ECMA-262 3 edition 6.0 1.0 5.5 (JScript 5.5),
  6 (JScript 5.6),
  7 (JScript 5.7),
  8 (JScript 6)
6.0,
  7.0,
  8.0,
  9.0
  
   
1.6 2005年11月 1.5 + Array extras + Array and String generics + E4X   1.5     3.0, 3.1  
1.7 2006年10月 1.6 + Pythonic generators + Iterators + let   2.0     3.2, 4.0 1.0
1.8 2008年6月 1.7 + Generator expressions + Expression closures   3.0   11.50    
1.8.1   1.8 + Native JSON support + Minor Updates   3.5        
1.8.2 2009年6月22日 1.8.1 + Minor updates   3.6        
1.8.5 2010年7月27日 1.8.1 + ECMAScript 5 Compliance   4 9 11.60    


 
8. 比较返回顶部
一、
版本 说明 实现
ECMA v1 标准化了JavaScript1.1的基本特性,并添加了一些新特性。没有标准化switch语句和正则表达式。 由Netscape 4.5和IE 4实现。
ECMA v2 ECMA v1的维护版本,只添加了说明 由Netscape 4.5和IE 4实现。
ECMA v3 标准化了switch语句、异常处理和正则表达式。 由Mozilla、Netscape 6和IE 5.5实现。
二、
9.返回顶部
 
10.返回顶部
五、
11.返回顶部
 
12.返回顶部
 
13.返回顶部
 
14.返回顶部
 
15.返回顶部
 
 
16.返回顶部
 
warn 做者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归做者和博客园共有,欢迎转载,但未经做者赞成必须保留此段声明,且在文章页面明显位置给出原文链接,不然保留追究法律责任的权利。
相关文章
相关标签/搜索