欢迎来到天天文库
浏览记录
ID:51690202
大小:479.50 KB
页数:15页
时间:2020-03-15
《JavaScript高级培训-自定义对象.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、平凡的世界窗体顶端窗体底端«最简单的Javascript表单验证MySQL密码丢失的找回方法(win/*inx)»JavaScript高级培训-自定义对象一,概述在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类、Hashtable类等等。目前在Javascript中,已经存在一些标准的类,例如Date、Array、RegExp、String、Math、Number等等,这为我们编程提供了许多方便。但对于复杂的客户端程序而言,这些还远远
2、不够。与Java不同,Java2提供给我们的标准类很多,基本上满足了我们的编程需求,但是Javascript提供的标准类很少,许多编程需求需要我们自己去实现,例如Javascript没有哈西表Hashtable,这样的话在处理键值方面就很不方便。因此,我个人认为一个完整的Javascript对象视图应该如下:二,基本概念1,自定义对象。根据JS的对象扩展机制,用户可以自定义JS对象,这与Java语言有类似的地方。与自定义对象相对应的是JS标准对象,例如Date、Array、Math等等。2,原型(prototype)在J
3、S中,这是一种创建对象属性和方法的方式,通过prototype可以为对象添加新的属性和方法。通过prototype我们可以为JS标准对象添加新的属性和方法,例如对于String对象,我们可以为其添加一个新的方法trim()。与严格的编程语言(例如Java)不同,我们可以在运行期间为JS对象动态添加新的属性。三,语法规则1,对象创建方式1)对象初始化器方式格式:objectName={property1:value1,property2:value2,…,propertyN:valueN}property是对象的属性val
4、ue则是对象的值,值可以是字符串、数字或对象三者之一例如:varuser={name:“user1”,age:18}; varuser={name:“user1”,job:{salary:3000,title:programmer}以这种方式也可以初始化对象的方法,例如: varuser={name:“user1”,age:18,getName:function(){ returnthis.name; } }后面将以构造函数方式为重点进行讲解,包括
5、属性和方法的定义等等,也针对构造函数的方式进行讲解。2)构造函数方式编写一个构造函数,并通过new方式来创建对象,构造函数本可以带有构造参数例如:functionUser(name,age){ this.name=name; this.age=age; this.canFly=false; } varuse=newUser();2,定义对象属性1)JS中可以为对象定义三种类型的属性:私有属性、实例属性和类属性,与Java类似,私有属性只能在对象内部使用,实例属性必须
6、通过对象的实例进行引用,而类属性可以直接通过类名进行引用。2)私有属性定义私有属性只能在构造函数内部定义与使用。语法格式:varpropertyName=value;例如:functionUser(age){ this.age=age; varisChild=age<12; this.isLittleChild=isChild; } varuser=newUser(15); alert(user.isLittleChild);//正确的方式 alert
7、(user.isChild);//报错:对象不支持此属性或方法3)实例属性定义,也存在两种方式:prototype方式,语法格式:functionName.prototype.propertyName=valuethis方式,语法格式:this.propertyName=value,注意后面例子中this使用的位置上面中value可以是字符创、数字和对象。例如:functionUser(){}User.prototype.name=“user1”;User.prototype.age=18;varuser=newUser
8、();alert(user.age);—————————————–functionUser(name,age,job){ this.name=“user1”; this.age=18; this.job=job; } alert(user.age);3)类属性定义语法
此文档下载收益归作者所有