欢迎来到天天文库
浏览记录
ID:15024552
大小:83.50 KB
页数:29页
时间:2018-07-31
《面向对象的 javascript》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第1页摘要第2页语言特性:引用第3页语言特性:函数重载和类型检查第4页语言特性:作用域第5页语言特性:闭包第6页语言特性:上下文第7页面向对象基础阅读前:ProJavascriptTechniques翻译连载说明和目录 JavaScript的演化是渐进而稳固的。历经过去十年的进程,JavaScript在人们的认知里已经从一门简单的玩物式的语言逐渐发展成为一门倍受推崇的编程语言,被全世界的公司和开发者用来构造种种不可思议的应用。现代JavaScript编程语言一如既往地可靠、健壮,强大得令人难以置信。在本书中我进行的许多论述,将揭示是什么使得现代Jav
2、aScript应用程序与从前有着那么明显的不同。本章中出现的许多概念远不能算新奇,然而成千上万聪明的程序员的认同促使它们的运用得以升华并最终形成今天的格局。既如此,我们干脆这就来着眼现代JavaScript程序设计。第二章:面向对象的Javascript 理解本章概念的大纲的重要性是不容忽视的。本章的前半部分,让你对于JavaScript语言怎样运作和怎样最好地它用一个良好的理解,这是完全掌握专业地使用JavaScript的出发点。彻底地理解对象怎样运作、引用怎样处理、作用域怎样确定,将会毫无疑问地改变你编写JavaScript代码的方式。 有了广
3、博的JavaScript编码技能,编写干净的面向对象JavaScript代码的重要性将会变得更加明显。本章的后半部分里我论述了怎样着手编写种种面向对象的代码以适应来自其它编程语言阵营的任何人。现代JavaScript正是基于这些技能,给予你开发新型的创新的应用程序时巨大的优势。引用 JavaScript的一个重要的方面是引用的概念。引用就是指向对象实际位置的指针。这是一项极其强大的功能。前提是,实际的对象决不是一个引用:字符串总是一个字符串,数组总是一个数组。然而,多个变量可以引用相同的对象。JavaScript就是以这种引用引用机制为基础。通过维护
4、一系列的指向其它对象的引用,语言为你提供了更大的弹性。 另外,对象能包括一系列的属性,这些属性简单地引用其它对象(如字符串,数字,数组等等)。当几个变量指向相同对象时,修改底层对象类型将会在所有的指点向它的变量上有所反映。例2-1即此一例,两个变量指向同一个对象,但是对对象内容的修改的反映是全局的。 程序2-1.多变量引用单个对象的示例//设置obj为一个空对象varobj=newObject();//objRef现在引用了别的对象varobjRef=obj;//修改原始对象的属性obj.oneProperty=true;//我们可以发现该变化在两
5、个变量中都可以看到//(因为他们引用了同一个对象)alert(obj.oneProperty===objRef.oneProperty); 我从前提到过自更改的对象在JavaScript里非常少见的。让我们看一个发生这一状况的实例。数组对象能够用push方法给它自己增加额外的项。因为在数组对象的核心,值是作为对象的属性存储的,结果类似程序2-1中的情形,一个对象成为全局被改动的(导致了多个变量的值被同时改变)。见程序2-2. 程序2-2.自修改对象的例子//创建一组项目的数组varitems=newArray("one","two","three"
6、);//创建一个对项目数组的引用varitemsRef=items;//给原始数组添加一项items.push("four");//两个数组的长度应该相同,//因为它们都指向相同的数组对象alert(items.length==itemsRef.length); 记住这一点是很重要的:引用总是只指向最终被引用的对象,而不会是引用本身。例如,在Perl语言里,很可能有一个引用指向另一个也是引用的变量。但在JavaScript里,它会沿着引用链向下追溯直到指向核心的对象。程序2-3演示了这种情形,物理的目标已经改变而引用仍然指向原来的对象。 程序2-3
7、.ChangingtheReferenceofanObjectWhileMaintainingIntegrity(见#9oerrite的回复)//设置items为一个字符串的数组(对象)varitems=newArray("one","two","three");//设置itemsRef为对items的引用varitemsRef=items;//让items指向一个新的对象items=newArray("new","array");//items和itemsRef现在指向不同的对象//items指向newArray("new","array")//it
8、emsRef则指向newArray("one","two","three")alert(ite
此文档下载收益归作者所有