JS教程:学习笔记之JS类
下语句来定义多个对象了:
var nahao = new Person(''Top css'',male,1989,''www.javava.org); var gaoshou = new Person(''Widen'',''male'',1980,''www.baidu.net''); var wudi = new Person(''不详'',''不知道'',''保密'',''bbs.blueidea.net'');通过他们的方法来调用 nahao.info(); gaoshou.info(); wudi.info();
注意:在上面的构造函数中,参数的名字和对象属性的名字是相同的,例如: this.name = name;虽然这样是合法的,但是如果要定义私有属性的话就不行了(后面会提),而且看起来比较混乱。所以最好将构造函数修改如下:
function Person(nameArg,genderArg,yearOfBirthArg,siteArg){ this.name = nameArg; this.gender = genderArg; this.yearOfBirth = yearOfBirthArg; this.site = siteArg; this.info = function(){ var str = ''姓名:'' + this.name + '',性别:'' + this.gender + '',出生年:'' + this.yearOfBirth + ''网站:'' + this.site; alert(str); } }
6、 静态方法什么是静态方法呢?就是直接添加在某个对象上的属性或者方法,它仅对一个对象有效,例如: nahao.skill = ''会点XHTML,CSS,现在还会说JavaScript了'';添加完这个语句之后,nahao就拥有了skill属性。但是出自同一个构造函数的gaoshou和wudi却不受任何影响。当然了,我们可以给它们也加上这个属性: gaoshou.skill = ''精通HTML,CSS,JS,FLEX,PHP,.NET,Linux编程,Perl,Ruby,XXX...''; wudi.skill = ''能用啤酒瓶盖与沙子手工打磨出CPU等PC基本零部件。''; 同样,我们也可以给构造函数添加静态方法,但是这同样不会影响使用该构造函数定义的对象。例如:
Person.showName = function(){ alert(this.name); }; Person.showName(); nahao.showName();//我们给Person定义了一个showName函数,但是它只对构造函数Person本身有用(但是没有什么实际意义),如果在nahao对象上调用这个方法将会出错。
7、 给对象定义私有成员公开的对象?在前面定义的所有对象,其所有的属性都是暴露在外的,可以随便访问,甚至修改也没问题。例如我们可以通过nahao.name直接访问到对象的名字等等属性。如果我们希望有一个属性对外保密,就可以给对象定义私有属性:
function Person(nameArg,genderArg,yearOfBirthArg,siteArg,privacyArg){ …… var privacy = privacyArg; …&hell |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |