首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

轻松拿上JavaScript(三)——创建对象,构造方法,成员

2012-11-26 
轻松拿下JavaScript(三)——创建对象,构造方法,成员我们这节讲到:如何创建自己的对象,如何创建构造方法,如何

轻松拿下JavaScript(三)——创建对象,构造方法,成员

我们这节讲到:如何创建自己的对象,如何创建构造方法,如何创建公有、私有、特权、静态成员。

如何创建自己的对象:我们从以下三点来讲:

1、我们从最简单的例子开始:var myObject=new Object();还有一种等价的方式:var myObject={};无论从哪种方式最终的myObject变量都是Object对象的实例,他作为一个对象的存在外没有任何其他作用。

2、实例化的过程,首先通过new关键字告知JS创建一个全新对象。然后新建的实例被赋值给一个变量,以便你可以通过引用那个变量来访问对象的新实例。不过为了做到这一点所实例化的对象必须是一个构造函数。

3、每个核心对象,例如:Object、Function、Array和String都含有构造函数。

当完成对象实例化之后就不能再基于新实例使用new关键字创建例外的实例了。

var anotherObj=new myObject();

就会报错,说myObject不是构造函数:我们看一下:

如何来创建构造函数:

1、Function是创建构造函数的起点。

在这个例子里边:我们要记住一下2点:

1、this引用的是myObj实例,通过将message参数赋值给this.myMessage使myObj拥有一个可以随时访问的名为myMessage的属性。var message=myObj.myMessage;

2、myMessage属性只在被实例化的myConstructor的实例中可用,而再myConstructor函数自身中是无效的:


这就说明了咱们的那个结论。

添加静态方法:

因为是一个静态成员。只存在于对象的一个具体实例而不存在于构造函数中。

另外讲一细节,我们平时说下面这两个写法是一样的:


添加私有和特权成员:

私有成员就是在构造函数中定义的变量和函数。

例如向myConstructor上添加私有方法和属性只需要:

轻松拿上JavaScript(三)——创建对象,构造方法,成员

特权方法:

与私有方法不同,特权方法能够被公开访问,而且还能访问私有成员。特权方法是指在构造函数的作用域中使用this关键字定义的方法:

轻松拿上JavaScript(三)——创建对象,构造方法,成员

通过上面的方式myConstructor拥有了和前面使用prototype相同的appendToMessage()方法,但是此时的方法隶属于构造函数的作用域中可以访问私有成员。

公有、私有、特权、静态总结:

1、私有和特权成员在函数的内部,他们会被带到函数的每一个实例中,因而将占用大量的内存。

2、公有的原型成员是对象的蓝图的一部分,适用于通过new关键字实例化该对象的每一个实例。

3、静态成员只适用于对象的一个特殊实例。




热点排行