JavaScript中Object通用的属性和方法
通用的Object属性和方法: (1) constructor属性 constructor属性引用了初始化这个对象的构造函数。 eg: var d=new Date(); d.constructor==Date;//true (2) toString()方法 返回对象值的字符串 (3) toLocaleString()方法 返回对象的一个本地化的字符表示。Object所定义的默认的toLocaleString()方法并不会本地化自己,它总是返回 和 toString()完全相同的内容。然而,子类可以定义它们自己的toLocaleString()版本。在ECMAScript V3中Array, Date,Number类都定义了返回本地化的值的toLocaleString()方法。 (4) valueOf()方法 当JavaScript需要把一个对象转换为某种基本数据类型,也就是一个数字而不是一个字符串的时候才调用的方法。 如果一个对象用在需要一个几本书值的环境中,JavaScript会自动调用这个方法。默认的valueOf()并不做什么有意 义的事情,一些内建的对象就定义了他们自己的valueOf()方法,如Date.valueOf()。 (5) hasOwnProperty()方法 如果对象用一个单独的字符串参数所指定的名字来本地定义一个非继承的属性,hasOwnProperty()方法就返回 true,否则返回false。 eg:var o={}; o.hasOwnProperty(“x”);//false; o.hasOwnProperty(“y”);//false o.hasOwnProperty(“cos”);//true因为Math对象含有cos属性 (6) propertyIsNumerable()方法 如果对象用一个单独的字符串参数所指定的名字来定义一个非继承的属性,并且如果这个属性可以在一个for/in循 环中propertyIsEnumerable()方法就返回为true,否则返回为false eg: var o={x:1}; o.propertyIsEnumerable(“x”);//true o.propertyIsEnumerable(“y”);//false; o.propertyIsEnumerable(“valueOf”);//false因为valueOf是继承来的 (7) isPrototypeOf()方法 如果isPrototypeOf()方法所属的对象是参数的原型对象,那么就返回为true,否则返回false。 eg: var o={}; Object.prototype.isPrototypeOf(o);//true Object.isPrototyeOf(o);//false; o.isPrototypeOf(Object.prototype);//false Function.prototype.isPrototypeOf(Object);//true |