本文介绍了几乎所有关于对象的基本概念,什么是对象,如何创建对象,对象的属性的设置和读取,删除属性的方法,构造函数,对象原型,父类,子类,继承等等。
1.对象 * 对象是一种复合数据类型,它们将多个数据值集中在一个单元中,而且运行使用名字来存取这些值。解释对象的另一种方式是,对象是一个无序的属性集合,每个属性都有自己的名字和值。存储在对象中的已命名的值可以是数字和字符串这样的原始值,也可以是对象。 */ var o = new Object();
2.对象直接量创建对象 * 对象直接量由属性说明列表构成,列表包含在大括号中,其中的属性说明由逗号隔开。 * 对象直接量中的每个属性说明都由属性名加上冒号和属性值构成。 */ var zhangsan = {name:"zhangsan", age:34, married:true}; window.alert(typeof zhangsan); //输出object
3.属性的读取和设置 * 对象的属性通过点号运算符读取和设置。对象的新属性可以通过直接创建。 */ window.alert(zhangsan.car); //输出undefined zhangsan.car="BMW"; //直接赋值 window.alert(zhangsan.car); //输出BMW
4.属性的枚举 * 通过for循环枚举每一个属性,顺序不能保证固定。 * 注意枚举出的是属性名称,并不是属性值。 */ var values = ""; for(var v in zhangsan)values += v+"\n"; //枚举每一个属性 window.alert(values);
5.属性的删除使用delete,如delete zhangsan.car */
6.构造函数 * 构造函数是具有两个特性的javascript函数: * (1)它由new 运算符调用; * (2)传递给它的是一个对新创建的空对象的应用,将该引用作为关键字this的值,而且它还要对新创建的对象进行适当的初始化。 * 记住:构造函数只是初始化对象,并不返回新创建的对象。 */ function Rectangle(w, h){ this.width = w; this.height = h; } var ret1 = new Rectangle(2, 1); //注意构造函数是如何使用它的参数来初始化this关键字所引用的对象的属性
7.对象的方法 * 所谓方法,就是通过对象调用的javascript函数。我们知道,函数就是数值,它们所使用的名字没有任何特殊之处,可以将函数赋给任何变量,甚至赋给一个对象的任何属性,那么这个属性就是对象的方法了。 * 在对象的方法体内,关键字this的值就成了调用该方法的对象。 */ function print(){} ret1.print = print;
8.关于this的讨论 * 任何一个用作方法的函数都会得到一个额外的实际参数,即调用该函数的对象。由于 |