JavaScript :脚本语言
诞生于1995年。
原名LiveScript ,发布前夕正赶上媒体热炒Java,遂更名。
javascript 1.0(发布于Netscape Navigator 2)1996年3月
布兰登·艾奇(Brendan Eich,1964年~),JavaScript的发明人,目前(2007年)在Mozilla公司担任首席技术长(Chief Technology Officer)。
——————————————————————————————————————
1. Netscape Navigator 3 中发布了javascript1.1
2. 不久,IE3中微软加入了JScript(javascript)1996年8月
两个不同javascript版本使标准化问题提上了日程。
1997年,欧洲计算机制造商协会(ECMA,European Computer Manufacturers Association)的39号技术委员会(TC39,Technical Committee #39)
完成了ECMA-262标准(1997年6月,定义了脚本语言标准ECMAScript),目前已更新第五版(2009年12月)
ECMAScript 不包含输入和输出的定义。但规定了语法,类型,语句,关键字,保留字,操作符,对象。
以之为基础可构建完善规范的脚本语言。 如javascript,actionscript。它们与 ECMAScript相容,但都进行了扩展。
------------------------------------------------------------------------------------
JavaScript,除ECMAScript(核心),还包含DOM(document object model),BOM(browser object model)。
DOM:
是针对XML但经过扩展用于HTML的API(application programming interface)。
将整个页面映射为一个多层节点结构,页面中每个部分都是某种类型的节点,节点内包含不同类型的数据。借此可以轻松自如地访问和操作改变 HTML、XHTML 以及 XML 文档中的每一个单独的元素。
由于IE4和 Netscape Navigator 4 分别支持不同形式的DHTML,W3C规划了DOM标准
DOM将整个页面映射为一个由层次节点组成的文件。有1级、2级、3级共3个级别。
1级DOM
1级DOM在1998年10月份成为W3C的提议,由DOM核心与DOM HTML两个模块组成。DOM核心能映射以XML为基础的文档结构,允许获取和操作文档的任意部分。DOM HTML通过添加HTML专用的对象与函数对DOM核心进行了扩展。
2级DOM
当节点分享同一个父节点时,它们就是同辈(同级节点)。
节点也可以拥有后代,后代指某个节点的所有子节点,或者这些子节点的子节点,以此类推。比方说,所有的文本节点都是 <html>节点的后代。
节点也可以拥有先辈。先辈是某个节点的父节点,或者父节点的父节点,以此类推。比方说,所有的文本节点都可把 <html> 节点作为先辈节点。
document.getElementById("ID");注释:getElementById() 无法工作在 XML 中。在 XML 文档中,您必须通过拥有类型 id 的属性来进行搜索,而此类型必须在 XML DTD 中进行声明。
document.getElementsByTagName("p");
document.getElementById('maindiv').getElementsByTagName("p");
parentNode、firstChild以及lastChild
DOM的优势主要表现在:易用性强,使用DOM时,将把所有的XML文档信息都存于内存中,并且遍历简单,支持XPath,增强了易用性。
DOM的缺点主要表现在:效率低,解析速度慢,内存占用量过高,对于大文件来说几乎不可能使用。另外效率低还表现在大量的消耗时间,因为使用DOM进行解析时,将为文档的每个element、attribute、processing-instrUCtion和comment都创建一个对象,这样在DOM机制中所运用的大量对象的创建和销毁无疑会影响其效率。
--------------------------------------------------------------------------------------------
BOM: