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());

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值