网站大量收购独家精品文档,联系QQ:2885784924

js对象定义和this用法.docx

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
js自定义对象讲解java面试 2009-04-22 16:57:07 阅读3 评论0 字号:大中小概述在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类、Hashtable类等等。目前在Javascript中,已经存在一些标准的类,例如Date、Array、RegExp、String、Math、Number等等,这为我们编程提供了许多方便。但对于复杂的客户端程序而言,这些还远远不够。与Java不同,Java2提供给我们的标准类很多,基本上满足了我们的编程需求,但是Javascript提供的标准类很少,许多编程需求需要我们自己去实现,例如Javascript没有哈西表Hashtable,这样的话在处理键值方面就很不方便。因此,我个人认为一个完整的Javascript对象视图应该如下:基本概念自定义对象。 根据JS的对象扩展机制,用户可以自定义JS对象,这与Java语言有类似的地方。与自定义对象相对应的是JS标准对象,例如Date、Array、Math等等。原型(prototype) 在JS中,这是一种创建对象属性和方法的方式,通过prototype可以为对象添加新的属性和方法。通过prototype我们可以为JS标准对象添加新的属性和方法,例如对于String对象,我们可以为其添加一个新的方法trim()。与严格的编程语言(例如Java)不同,我们可以在运行期间为JS对象动态添加新的属性。语法规则对象创建方式 对象初始化器方式格式:objectName = {property1:value1, property2:value2,…, propertyN:valueN} property是对象的属性value则是对象的值,值可以是字符串、数字或对象三者之一例如:var user={name:“user1”,age:18};?var user={name:“user1”,job:{salary:3000,title:programmer} 以这种方式也可以初始化对象的方法,例如:??? var user={name:“user1”,age:18,getName:function(){ ??????????????? return this.name; ????????? }????????? ??? } 后面将以构造函数方式为重点进行讲解,包括属性和方法的定义等等,也针对构造函数的方式进行讲解。构造函数方式编写一个构造函数,并通过new方式来创建对象,构造函数本可以带有构造参数例如:function User(name,age){ ????????? this.name=name; ????????? this.age=age; ????????? this.canFly=false; ??? } ??? var use=new User(); 定义对象属性 JS中可以为对象定义三种类型的属性:私有属性、实例属性和类属性,与Java类似,私有属性只能在对象内部使用,实例属性必须通过对象的实例进行引用,而类属性可以直接通过类名进行引用。私有属性定义私有属性只能在构造函数内部定义与使用。语法格式:varpropertyName=value;例如:function User(age){ ?????????? this.age=age; ?????????? varisChild=age12; ?????????? this.isLittleChild=isChild; ??? } ??? var user=new User(15); ??? alert(user.isLittleChild);//正确的方式??? alert(user.isChild);//报错:对象不支持此属性或方法实例属性定义实例属性定义也存在两种方式:prototype方式,语法格式:functionName.prototype.propertyName=value this方式,语法格式:this.propertyName=value,注意后面例子中this使用的位置上面中value可以是字符创、数字和对象。例如:function User(){ } User.prototype.name=“user1”; User.prototype.age=18; var user=new User(); alert(user.age); —————————————– function User(name,age,job){ ???????? this.name=“user1”; ???????? this.age=18; ???????? this.job=job; ??? } ???

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档