【摘要】:从这个例子可以看出定义对象要定义构造函数,其中包含各个属性成员和方法成员。this表示本对象,必须使用。对象定义好后还不能直接使用,要使用对象,必须先用保留字new创建对象的实例,创建对象实例的语句如下:对象名就是构造函数名。给构造函数赋不同的实参数初值就可以构造出不同的对象实例。E_js_23.htm:图3-15 自定义对象
用户自定义对象包括定义对象的属性和定义对象的方法两部分,可以通过例子来说明。下面构造的是一个简单的“电视机”的对象:
上例中,函数TV称为对象TV的构造函数,它有两个属性成员:this.n和this.color;一个属性方法:this.channel,它的值是另一个函数名channel,函数channel的作用是改变电视频道并输出。从这个例子可以看出定义对象要定义构造函数,其中包含各个属性成员和方法成员。方法成员还要用另外的普通函数来定义。this表示本对象,必须使用。
对象定义好后还不能直接使用,要使用对象,必须先用保留字new创建对象的实例,创建对象实例的语句如下:
对象名就是构造函数名。给构造函数赋不同的实参数初值就可以构造出不同的对象实例。如:
这就建立了两个对象实例TV1(一台红色的电视机,1频道)和TV2(另一台绿色的电视机,3频道)。有了对象实例就可以引用对象实例中的属性成员(变量)和方法成员(函数)了。属性成员的引用格式如下:
对象实例名.属性成员名或
对象实例名[属性成员名]
方法成员的引用格式如下:
对象实例名.方法成员名
例如:
在JS的流程控制语句中,有两条是有关对象操作的:“forin”语句和“with”语句。
forin语句的格式如下:(www.chuimin.cn)
这是一条循环语句,用于对已有对象实例中所有属性(属性成员和属性方法)进行操作的循环控制,它将一个对象的所有属性依次置给变量来实现循环,而不是使用计数器来实现循环。
with语句的格式如下:
引用对象实例的属性时,要在属性前加上对象实例名,属性较多时,使用起来较麻烦。可使用with语句简化书写形式。例如:
另外,在JavaScript中,用保留字prototype可以向已定义的对象中添加属性而不用重写构造函数。例如,向“电视机”对象TV添加一个亮度的属性bright,语句如下:
这样,在该语句之前或之后创立的所有TV实例对象都会具有属性bright,并且其值为36。
程序“E_js_23.htm”中示例了对象的定义、生成和属性、方法的引用。使用“记事本”输入下面的“E_js_23.htm”程序并存放在应用目录“webapps/ROOT/E23”下。在浏览器地址栏中输入:http://192.168.2.1:8080/E23/E_js_23.htm,则浏览器窗口显示如图3-15所示。
E_js_23.htm:
图3-15 自定义对象
相关推荐