js面向对象编程(一看就懂)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JavaScript面向对象(一看就懂)

1、对象描述

如果有个人,他叫周杰伦,性别是男,他还有一个变化的年龄,我们该怎么用面向对象的方式来表述呢?

第一、我们先给他起一个对象名叫zjl。

第二、我们给这个对象两个属性,一个属性叫name,它的值为"周杰伦",另一个属性叫gender,它的值为"male"。

第三、我们给这个对象一个方法,叫setAge,它可以给zjl这个对象设置年龄,它有一个形参age,用于接收代表实际年龄的实参。

2、第一种创建对象的方法

让我们先来看一下创建对象的第一种方法,格式为如下所示。注意属性和属性值之间要有英文的冒号,各个属性以及函数之间要用英文的逗号隔开,对象末尾的属性值或函数后没有逗号。

注意这里面的this关键字,代表zjl这个对象,this.curage=age也就是把形参的值赋给zjl这个对象的curage属性,你当然也可以用同样的方法给属性name和gender赋值,赋值后name和gender的初始值就会被覆盖掉。现在想一想如果curage不加前面this.呢?还记得我们前面讲过的全局变量吗?没错,这样curage就不是对象zjl的属性,而是一个全局变量了,那如果我们写成var curage呢,这是它只是setAge函数里面的一个局部变量,也不再是对象zjl的属性了。加了this关键字的方法和属性叫做公有方法和属性,不管在对象内部还是外部都可以访问。所以当我们在对象内部要引用公有方法和属性时,一定记得要加his 关键字。

/*var对象名={

属性名1:属性值,

属性名2:属性值,

......

函数名1:function(形参......)

{函数体1},

函数名2:function(形参......)

{函数体2},

......

};*/

var zjl={

name:"周杰伦",

gender:"male",

setAge:function(age){

this.curage=age;

}

};

3、第二种创建对象的方法

第二种创建对象的格式为:

var对象名=new Object();

对象名.属性名1=属性值1;

......

对象名.函数名1=function(形参......)

{函数体1};

......*/

var zjl=new Object();

="周杰伦";

zjl.gender="male";

zjl.setAge=function(age){

this.curage=age;

};

4、第三种创建对象的方法

详见小鸟悠悠一步步教你编程,让写代码不再枯燥,充满乐趣。

相关文档
最新文档