48.3 JavaScript基础知识点 (这里的知识点整理自上面的参考资料地址和w3school) 教程这里也对JavaScript的基础知识做个介绍,方便大家先有个大概的认识。
48.3.1 JavaScript简要说明 JavaScript,一种高级编程语言,通过解释执行,是一门动态类型,面向对象(基于原型)的直译语言。它已经由ECMA(欧洲电脑制造商协会)通过ECMAScript实现语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器(Chrome、IE、FireFox、Safari、Opera)支持。JavaScript是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面向对象编程、命令式编程以及函数式编程。它提供语法来操控文本、数组、日期以及正则表达式等,不支持I/O,比如网络、存储和图形等,但这些都可以由它的宿主环境提供支持。 虽然JavaScript与Java这门语言不管是在名字上,或是在语法上都有很多相似性,但这两门编程语言从设计之初就有很大的不同,JavaScript的语言设计主要受到了Self(一种基于原型的编程语言)和Scheme(一门函数式编程语言)的影响。在语法结构上它又与C语言有很多相似(例如if条件语句、while循环、switch语句、do-while循环等)。 在客户端,JavaScript在传统意义上被实现为一种解释语言,但在最近,它已经可以被即时编译(JIT)执行。随着最新的HTML5和CSS3语言标准的推行,它还可用于游戏、桌面和移动应用程序的开发和在服务器端网络环境运行,如Node.js。 一般来说,完整的JavaScript包括以下几个部分: 1、ECMAScript,描述了该语言的语法和基本对象。 2、文档对象模型(DOM),描述处理网页内容的方法和接口。 3、浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口。 它的基本特点如下: 1、是一种解释性脚本语言(代码不进行预编译)。 2、主要用来向HTML页面添加交互行为。 3、可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。 JavaScript常用来完成以下任务: 1、嵌入动态文本到HTML页面。 2、对浏览器事件作出响应。 3、读写HTML元素。 4、在数据被提交到服务器之前验证数据。 5、检测访客的浏览器信息。 6、控制cookies,包括创建和修改等。
48.3.2 JavaScript发展史 1995年,当时在网景公司就职的Brendan Eich正为Netscape Navigator 2.0浏览器开发的一门名为LiveScript的脚本语言。后来网景在与Sun公司合作之后将其改名为JavaScript。JavaScript最初受Java启发而开始设计的,目的之一就是“看上去像Java”,因此语法上有类似之处,一些名称和命名规范也借自Java。但JavaScript的主要设计原则源自Self和Scheme。JavaScript与Java名称上的近似,是当时网景为了营销考虑与Sun达成协议的结果。 JavaScript推出后在浏览器上大获成功,微软公司不久后就为Internet Explorer 3.0浏览器推出了JScript,用来与处于市场领导地位的网景产品同台竞争。JScript也是一种JavaScript实现,这两个JavaScript语言版本在浏览器端共存意味着语言标准化的缺失,对这门语言进行标准化被提上了日程,在1997年,由网景、Sub、微软、Borland等公司组织及个人组成的技术委员会在ECMA(欧洲计算机制造商协会)确定定义了一种名叫ECMAScript的新脚本语言标准,规范名为ECMA-262。JavaScript成为了ECMAScript的实现之一。 完整的JavaScript实现应该包含三个部分:ECMAScript(语言核心)、DOM(文档对象模型)和BOM(浏览器对象模型)。 JavaScript目前为甲骨文公司在美国的注册商标。
48.3.3 JavaScript特性 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逐渐被用来编写服务器端程序。且在近几年中,Node.js的出世,让JavaScript也具有了一定的服务器功能,且在某些方面比PHP的效果更为显著。
|