资源描述:
《javascript学习笔记之创建对象_javascript技巧》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、JavaScript学习笔记之创建对象JavaScript有Date、Array>String等这样的内置对象,功能强大使用简单,人见人爱,但在处理一些复杂的逻辑的时候,内置对象就很无力了,往往需耍开发者自定义对象。从JavaScript定义上讲对象是无序屈性的集合,其屈性可以包含基木值、对象或函数。也就是说对彖是一组没冇特定顺序的屈性,每个屈性会映射到一个值上,是一组键值对,值可以是数据或对彖。对象是JavaScript的基本数据类型。在JavaScript中除了字符串、数字、true^false、null和undefined之外的值都是对象。所以
2、,学习JavaScript不把对象学习明口要继续往下学习就非常的困难。从今天开始进入对象的学习中。概述在JavaScript中对彖是一种基本的数据类型,在数据结构上是一种散列表,可以看作是属性的无序集合,除了原始值其他一切都是对象。可通过属性名访问这些值,而属性名可以是包含空字符在内的任意字符串。简单点说,一个对象就是一系列属性的集合,一个属性包含一个名字(key)和一个值(value)。理解什么是JavaScript对象,你可以这样来想。在JavaScript中,一个对彖就是一个具有属性的特体。就拿你看到的一妹子,这妹子就是一个对象,她有自己的属性
3、。比如妹子身高,年龄,姓名等。同样,在JavaScript中,也可以用属性來给对象定义它的特征。创建对象既然要学习对象,那得先要冇一个对象,这样问题就来了,JavaScript中对象要怎么创建呢?接下来就来看看在JavaScript中如何创建对彖。很多有关于JavaScript书在介绍对象创建的方法时,主要有:使用对象字面量创建对象(key-value)使用new创建对象使用Object,create()创建对象使用函数创建对象使用原型创建对象使用对象字面量创建对象对象字而量是创建对象最简单的一种形式,目的是在于简化创建包含大量屈性的对彖的过程。对彖
4、字面量由若干属性名(keys)和属性值(values)成对组成的映射表,key和value中间使用冒号(:)分隔,每对key/value之间使用逗号(,)分隔,整个映射表用花括号({))括起来。通过对象字面量创建对象的语法如下:varobj={propertyl:valuel,//property#可能是一个标识符•••2:value_2,//或看是一个数字//...,"propertyn,z:valuc_n//或是一个字符串};这里obj是创建的对象的名称,每一个property_i是一个标识符(可以是一个名称、数字或字符串字面量),并且每个val
5、ue.!是一个其值,并且将这个值赋予给property_io來看一个貝体实例:vargirl二{'name,:欣欣','age':18,'height':175,'weight':45}这个示例创建了一个名为girl的对象,对象有四个属性name、age>height和weighto这四个属性对应有一个属性值。使用对象字面量创建对象时,如果留空其花括号({}),则可以定义只包含默认属性和方法的对彖。如:varobj二{}使用这种方式创建的对象时,可以通过点(・),也就是obj.key给对象obj创建对象属性,并且赋予对象的属性值。另外也可以通过方括号
6、([]),也就是objfkey']给对象obj仓U建对象属性,并且赋予对象的属性值。如下而的示例:vargirl二{};girl,name二’欣欣’;gir1.age=18;girl['height']=175;girlfweight']二45;此时在Chrome中打卬girl对象时,输出的结果如下所示:console,log(girl);//Object{name:欣欣〃,age:1&height:175,weight:45}使用new创建对象使用new操作符后跟Object构造函数(有关于构造函数,后面再讲)也可以创建对象:varobj二newO
7、bject();//和obj二{}相同虽然初始状态卜,obj是一个空对象,但在JavaScript中可以很方便地动态添加和使用成员,所以我们可以不断加入成员变量和方法。女lhvargirl二newObject();girlfname,]=欣欣';girlfage,]=18;girl['height']二175;girl['weight']=45;使用Object,create()创建对象对象也可以用0bject.create0方法创建。该方法非常冇用,因为它允许你为创建的对象选择其原型对象,而不用定义一个构造函数。Object,create()方法创
8、建一个拥有指定原型和若干个指定属性的对象。Object.create(proto,[propertiesOb