构造函数Object()创建的。 * 这就意味着原型对象继承了Object.prototype属性。因此,ret1会继承Rectangle.prototype的属性,还会继承Object.prototype的属性。整因为所有对象的prototype属性会继承Object.prototype属性, * 所以所有javascript子类都继承了Object的所有属性,也即Object类是javascript的根类,处于类层次图的最顶层。 */
12.使用[]读取和设置对象的属性 * 通常会采用点号运算符访问对象的属性,但是点号后面的属性是标识符。在javascript中,标识符必须逐字输入,它们不是一种数据类型。如果程序中属性是动态的、不确定的,那么我们将无法访问。 * 前面解释过,对象是一群属性的集合,也就是数组。那么可以使用数组访问成员的运算符[]来访问对象的属性。[]中是属性名称,是字符串类型,我们就可以动态的确定对象属性名称了。 * * 使用[]运算符的对象我们也称之为关联数组。关联数组是一种数据结构,允许你动态地将任意值和任意字符串关联在一起。实际上,javascript对象在内部就是用关联数组实现的。使用点号运算符只是为了是他们看起来更像C++和Java的静态对象而已。 * * 前面的for/in循环实际上是对数组的操作。 * * 我们通常意义说的数组是将任何值和非负整数关联在一起的数据结构。 * * 数组实际上是一个具有额外功能层的对象。如var a = new Array();window.alert(typeof a);输出Object。 */
13. Object类的属性和方法 * constructor属性表示初始化该对象的构造函数。因此,可以使用该属性来判断对象的类型。 */ function A(){return "aaaaaaaaa"}; var a = new A(); window.alert(a.constructor); //输出的是A的函数定义 window.alert(a.constructor==A); //结果是true window.alert(a.constructor()); //输出aaaaaaaaaa
/** * toString()方法没有任何实际参数,它返回的是一个字符串,该字符串代表了调用它的对象的类型或值。当javascript需要将一个对象转化成字符串时就调用这个对象的toString方法。 * 例如,当用运算符"+"把一个字符串和一个对象连接到一起时,或者把一个对象传递给alert()或document.write()方法时,就会调用toString()方法。 */
本篇文章来源网络
|