[读书笔记]JavaScript面向对象编程.doc
《[读书笔记]JavaScript面向对象编程.doc》由会员分享,可在线阅读,更多相关《[读书笔记]JavaScript面向对象编程.doc(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、摘要:我们在开发Web程序时或多或少都会应用到Javascript脚本程序,在当今的AJAX如此盛行的时代,JS的作用将不断的提升。这个新一代的 Web 应用程序的复杂性和交互性需要程序员以完全不同的方法来编写JavaScript 代码,我们在编写一次性的脚本显然已经不能够满足这样的需求。面向对象编程 (OOP) 是一种流行的编程方法,很多 JavaScript 库中都使用这种方法,以便更好地管理和维护基本代码。我们可以从ASP.NET AJAX库或SilverLight库以及经常见到的prototype.js库等等都采用了这种编程方式。JS支持OOP,但是又和C+,C#等非常不一样,所以这种
2、概念一直会让人难以琢磨,这编文章将讲述 JavaScript 语言实际上如何支持面向对象编程,我们又如何应用这种方式来编写我们JS程序。JavaScript对象在.NET中我们知道,万物皆为对象,也就是类实例化后得到的就是对象,每个对象都有各自不同的属性和方法。JavaScript中的对象和他有所不同,我们知道在JS中我们可以通过.或运算符来获取或设置对象中的方法或属性,我们可以把它想象为包含键/值对的字典。下面我们来看个例子:1varobj=newObject();2obj.Now=newDate();3alert(obj.Now); 我们可以用运算符来达到同样的效果:1varobj=new
3、Object();/;2objNow=newDate();3alert(obj.Now); 我们还可以直接定义它的属性,效果一样:1varobj=Now:newDate();2alert(obj.Now); 以上三种方法都能够达到同样得效果,如果你用过C#3.0他的匿名赋值就有点像,也许它就是跟JS学的(只是猜测)。您不必预先声明属性Now 如果obj 没有该名称的属性,该属性将被直接添加到 obj。这是不是很像字典,我们可以不断地往字典里加入键/值对,我想把它想象成字典最容易理解多了。JavaScript函数 在上面所讲述的是对象的属性,我们可以把属性值直接付给一个键(名称),其实JS的方法
4、也是这样。JavaScript 函数实际上是具有与它关联的可执行代码的对象,我们定义方法时可以把我们的函数符给一个对象(类)中的名称(方法名称)。对于方法我想大家应该都很熟悉,这里就不多说了。JavaScript原型 在使用 JavaScript 的面向对象编程中,原型对象是个核心概念。在 JavaScript 中对象是作为现有示例(即原型)对象的副本而创建的,该名称就来自于这一概念。此原型对象的任何属性和方法都将显示为从原型的构造函数创建的对象的属性和方法。可以说,这些对象从其原型继承了属性和方法。 在 JavaScript 中,每个函数都有名为“prototype”的属性,用于引用原型对象
5、。此原型对象又有名为“constructor”的属性,它反过来引用函数本身。当我们用用new创建对象时,所创建的对象将继承此函数的prototype属性。 每个 JavaScript 对象都继承一个原型链,而所有原型都终止于 Object.prototype。当您尝试访问对象的属性/方法时,JavaScript 将检查该属性/方法是否是在该对象中定义的。如果不是,则检查对象的原型。如果还不是,则检查该对象的原型的原型,如此继续,一直检查到 Object.prototype。所以我想如果用很长的prototype链对于性能方面应该会有所影响,但是现在的客户端足以承受,因此在ASP.NET AJA
6、X中用了相当大的prototype。JavaScript闭包 由于我对这个概念也不是特别的熟悉这个咚咚,它是JavaScript的一个高级功能,闭包是当内部函数绑定到它的外部函数的本地变量时所发生的运行时现象,这很容易让我们想到在C#中匿名的方法。我们可以通过一下实例来更好的理解这个功能: 1varisMoreThan300=filter(2function(x)return(x300)?true:false;,3num);4 以上事例说明了当前数num是否比300大,如果比300大我们就返回true,否则反回false。但我们可能还需要判断是否比400,500,200.等时,我们可以通过下列
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 读书笔记 JavaScript 面向 对象 编程
限制150内