本篇文章希望可以从JavaScript的技术的背景、原理和设计出发,把知识的内容呈现出来。这种形式适用于有体系和源流的知识,比较适合系统学习和理解。
JavaScript诞生与1995年,当时的主要目的之一是处理以前由服务器端语言(如Perl)负责的一些验证操作。在JavaScript之前,必须把表单数据发送到服务器端才能确定用户是否没有填写某个必填域,Netscape Navigator希望通过JavaScript来解决这个问题。想要全面理解和掌握JavaScript,关键在于弄清楚他的本质、历史和局限性。 ————《JavaScript高级程序设计(第三版)》
在Web日益流行的同时,人们对客户端脚本语言的需求也越来越强烈,当时就职于Netscape公司的Bredan Erich开始着手计划于1995年2月发布的NetscapeNavigator 2开发一种名为LiveScript的脚本语言————该语言将同时在浏览器和服务器中使用(它在服务器上的名字是liveWire),Netscape和Sun公司建立了一个开发联盟,在发布前夕,Netscape为了搭上媒体热炒的Java的顺风车,临时把LiveScript改名为JavaScript。
由于JavaScript1.0的大获成功,Netsca在Netscape Navigator 3中发布了JavaScript1.1, 微软也在其发布不就后在IE3中发布了JScript的JavaScript实现, 微软在1996年8月进入web领域标志这JavaScript作为一门语言,向前迈进了一大步。
1997年, 以JavaScript1.1为蓝本的建议被提交给了欧洲计算机制造商协会(ECMA, European Computer Manufactures Association),该协会指定TC39技术委员会(TC39, Technical Committee #39)负责“标准化一种通用、跨平台、供应商中立的脚本语言的语义和语法。 TC39经过数月的努力完成了ECMA-262的新脚本语言的标准。
第二年,ISO/IEC(International Organization for Standardization and International Electrotechnical Commission)也采用了ECMAScript作为标准(即ISO/IEC-16262),自此以后,浏览器开发商就开始致力于将ECMAScript作为各自JavaScrip实现的基础。
虽然JavaScript和ECMAScript经常被人们表达相同的含义,单JavaScript比ECMA-262中规定的多得多,一个完整的JavaScript应该由下列三个不同的部分组成
ECMA-262定义的EMCAScript与浏览器没有依赖关系,ECMA定义的制式这么语言的基础,在此基础上可以构建更完善的脚本语言。Web浏览器只是ECMAScript实现可能的宿主环境之一,宿主环境不仅提供基本的ECMAScript实现,同时也会提供该原因的扩展,以便语言与环境之间对接交互,而这些扩展,如DOM,则利用ECMAScript的核心类型和语法提供更多具体的功能,以便实现针对环境的操作,其他宿主环境包括Node, Adobe Flash。
ECMAScript就是对实现该标准规定的各个方面的语言的标书,Javascript实现了EMCAScript, Adobe ActionScript同样也实现了ECMAScript。
DOM是针对XML但经过扩展的html应用程序的编程接口。DOM把整个页面映射为一个多层节点结构,HTML页面中的每个组成部分都是某种类型的节点,这些节点又包含不同类型的数据,开发人员通过DOM可以轻松地删除、添加、替换或者修改任何节点。
DOM0级: IE4.0和Netscape Navigator4.0最初支持的DHTML。
DOM1级:(DOM Level1)于1998年10月成为w3c推崇标准。DOM1级由连个模块组成:DOM Core和DOM HTML。DOM Core规定的是如何映射基于XML的文档结构,DOM HTML实在DOM Core的基础上加以扩展,添加了针对HTML的对象和方法。
DOM2级:在DOM1的基础上DOM2引入了更多的交互能力,也支持了更高级的XML特性。DOM2将DOM分为更多具有联系的模块。DOM2级在原来DOM的基础上又扩充了鼠标、用户界面事件、范围、遍历等细分模块,而且通过对象接口增加了对css的支持。DOM1级中的DOM核心模块也经过扩展开始支持XML命名空间。在DOM2中引入了下列模块,在模块包含了众多新类型和新接口:
DOM3级:进一步扩展了DOM,引入了以统一方式加载和保存文档的方法,它在DOM Load And Save这个模块中定义;同时新增了验证文档的方法,是在DOM Validation这个模块中定义的。
DOM3进一步扩展了DOM,在DOM3中引入了以下模块:一个网页是由html来搭建结构的,通过css来定义网页的样式,而JavaScript赋予了页面的行为,通过它我们可以与页面进行交互,实现页面的动画效果等等。那javascript究竟通过什么来实现的呢?通过ECMAScript这个标准,我们可以编写程序让浏览器来解析,利用ECMAScript,我们可以通过BOM对象(即browser object model)来操作浏览器窗口、浏览器导航对象(navigator)、屏幕分辨率(screen)、浏览器历史(history)、cookie等等。但这个通过BOM来实现的交互远远不够。要实现页面的动态交互和效果,操作html才是核心。那如何操作html呢?对,就是DOM,简单的说,DOM给我们提供了用程序来动态控制html的接口,也就是早期的DHTMl的概念。因此,DOM处在javascript赋予html具备动态交互和效果的能力的核心地位上。
你可能不相信,Node.js才10岁。相比之下,JavaScript已有24年的历史,而我们一直使用的web,也有26年历史了。10年不是一段很长的时间,但是Node.js让人感觉已经存在了很久。
它最初由Netscape的Brendan Eich设计。JavaScript是甲骨文公司的注册商标。Ecma国际以JavaScript为基础制定了ECMAScript标准。JavaScript也可以用于其他场合,如服务器端编程。完整的JavaScript实现包含三个部分:ECMAScript
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页
如果你经常在 linux 下工作,那你肯定对 top 以及它的增强版 htop 非常熟悉。如果说 top 是管理进程的,而 ctop 则是管理容器的。当进入指标可视化界面后,可以使用快捷键进行筛选,排序,检索
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!