首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Object的属性跟方法

2012-11-17 
Object的属性和方法?constructor属性:返回对象的构造函数? Object对象中的constructor属性可以判断一个对

Object的属性和方法

?constructor属性:返回对象的构造函数
? Object对象中的constructor属性可以判断一个对象的类型,constructor属性引用的是对象的构造函数。
? 如:var myObject1 = new Object();
????? var myObject2 = new Object(1.3455)/或布尔/字符串...;
????? document.write(myObject1.constructor);
????? document.write(myObject2.constructor);
? 输出结果:function Object(){[native code]}
??????????? function Number(){[native code]}
使用constructor属性返回的是对象的构造函数,但在现实中很少通过这样的方法来查看对象的类型,可以通过if语句来判断对象是否属于某种类型.(依旧是上面的例子)
? 如:if(myObject1==Object){("这是一个对象");}
? ? ? if(myObject2==Number){("这是一个数字对象");}
??
? toString()方法:对象的字符串表示
? Object对象的toString()方法可以返回一个用于表达对象的字符串,其语法如下:
?????? object.toString()
? toString()方法通常在调试javascript代码时使用,可以输出对象,查看对象的值,不同类型的对象输出的字符串值都是不同的。

? toLocaleString()方法:返回对象的本地字符串表示
? toLocaleString()方法与toString方法类似,也能返回对象的字符串表示,不过该字符串是被格式化为适合本地的表示法。对于Object对象来说,toLocaleString()方法是调用了toString()方法,而对于其他对象,如布尔对象,日期对象等,都定义了专属自己的toLocaleString()方法,这些方法都可以指定本地化字符串的表达形式。在自定义对象时,也可以自定义toLocaleString()方法来指定返回的本地化字符串的表达形式。
? 其语法如下:
?????? object.toLocaleString()

?? propertyIsEnumerable()方法:是否对象自有属性
? 使用propertyIsEnumerable()方法,可以判断某个属性是否对象的自有属性。语法代码如下:
?????? object.propertyIsEnumerable(propertyname)
?其中propertyname为对象的属性名,该方法返回的是布尔值,只有在同时满足以下3个条件时,才会返回true.

propertyname必须是object属性 propertyname不能是继承过来的属性 propertyname是可以通过for...in语句循环所枚举得到的属性

?如:
???? var myObject = new Object();
???? myObject.name = "铅笔";
???? //返回结果:true
???? document.write(myObject.propertyIsEnumerable("name"));
???? //返回结果false,因为constructor是从object对象中继承多来的
???? document.write(myObject.protertyIsEnumerable("constructor"));
??
?? hasOwnProperty()方法:判断属性是否非继承的
?? 与propertyIsEnumerable()方法有点类似,hasOwnProperty()方法可以判断一个属性是非继承的属性。语法如下:
???? object.hasOwnProperty(propertyname)
?其中propertyname为对象的属性名,该方法返回的是布尔值,只有在同时满足以下两个条件时,才会返true.??

propertyname必须是object属性 propertyname不能是继承过来的属性

?? isprototypeOf()方法:判断是否原型对象
? isprototypeOf()方法可以判断一个对象是否是另一个对象的原型对象。语法如下:
???? object.isPrototypeOf(object1)
? 其中object为一个对象,object1是另一个对象。如果object是object1的原型对象,则返回true,否则返回false.在javascript总一个对象的原型对象是通过该对象的构造函数的prototype属性引用的。

?? valueOf()方法:返回对象的原始值
? valueOf()方法返回的是对象相关的原始值,如果对象相关的原始值不存在,则返回对象本身。语法如下:
???? object.value()
?例:
???? var myObject1 = new Object();
???? myObject.name = "铅笔";
???? myObject.price = 20;
???? var myObject2 = Object(1234);
???? var myObject3 = Object(false);
???? var myObject4 = Object(str);
??? //输出[object Object]
??? document.write(myObject1.valueOf());
??? //输出 1234
??? document.write(myObject2.valueOf());
??? //输出 false
??? document.write(myObject3.valueOf());
??? //输出 str
??? document.write(myObject4.valueOf());

热点排行