欢迎来到天天文库
浏览记录
ID:32020238
大小:44.83 KB
页数:32页
时间:2019-01-30
《Javascript 对象用法.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Javascript对象用法 一、基本概念 1,自定义对象。 根据JS的对象扩展机制,用户可以自定义JS对象。与自定义对象相对应的是JS标准对象,例如Date、Array、Math等等。 2,原型(prototype) 在JS中,这是一种创建对象属性和方法的方式,通过prototype可以为对象添加新的属性和方法。通过prototype我们可以为JS标准对象添加新的属性和方法,例如对于String对象,我们可以为其添加一个新的方法trim()。我们可以在运行期间为JS对象动态添加新的属性。 二、语法规则 1、对象创建方式 1)对象初始化器方式 格式:
2、objectName={property1:value1,property2:value2,…,propertyN:valueN} property:对象的属性 value:对象的值,值可以是字符串、数字或对象三者之一 //例:初始化User对象 varuser1={name:"user1",age:18}; alert(user1.name); 复制代码 //例,初始化对象 varuser={name:"User1",job:{salary:3000,title:"programmer"}}; alert(user.job.salary); 复制
3、代码 //例、初始化User对象 varuser2={name:"user1",age:18,getName:function(){returnthis.name;}}; alert(user2.getName()); 复制代码 后面将以构造函数方式为重点进行讲解,包括属性和方法的定义等等,也针对构造函数的方式进行讲解。 2)构造函数方式 编写一个构造函数,并通过new方式来创建对象,构造函数本可以带有构造参数 复制代码 //编写构造函数 functionUser(name,age){ //this.name:表示对象的属性 this.name
4、=name; this.age=age; this.canFly=false; } //创建对象 varuser1=newUser("aaa",100); alert(user1.name); 复制代码 复制代码 2、定义对象属性 1)JS中可以为对象定义三种类型的属性:私有属性、实例属性和类属性。 私有属性只能在对象内部使用。 实例属性必须通过对象的实例进行引用。 类属性可以直接通过类名进行引用。(相当于c#静态属性或变量) 2)私有属性定义 私有属性只能在构造函数内部定义与使用。 语法格式:varpropertyName=value
5、; 复制代码 //例、私有属性 functionUser(age){ this.age=age; //定义私有属性,私有属性只能在对象内部使用, varisChild=age<12; this.isLittleChild=isChild; } varuser=newUser(15); alert(user.isLittleChild); 复制代码 复制代码 3)实例属性定义,也存在两种方式: prototype方式,语法格式:functionName.prototype.propertyName=value。 this方式,b31.org
6、语法格式:this.propertyName=value,注意后面例子中this使用的位置。 上面中语法格式中的value可以是字符创、数字和对象。 复制代码 //prototype方式 functionUser(){}; //实例属性 User.prototype.name="user1"; User.prototype.age=18; varuser=newUser(); alert(user.name); //this方式 functionUser(name,age){ //this方式的实例属性 this.name=name; th
7、is.age=age; } 复制代码 复制代码 4)类属性定义 语法格式:functionName.propertyName=value functionUser(){}; User.Max_Age=200; User.Min_age=0; alert(User.Max_Age); 复制代码 5)对于属性的定义,除了上面较为正规的方式外,还有一种非常特别的定义方式,语法格式:obj[index]=value 复制代码 functionUser(name){ this.name=name; this.age=18; th
此文档下载收益归作者所有