码迷,mamicode.com
首页 > 其他好文 > 详细

Object.prototype的成员介绍

时间:2017-12-28 18:26:37      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:运算   call   .property   name   const   one   使用   turn   时间   

3.Object.prototype的成员介绍

       Object.prototype是js中所有的对象的祖宗
       Object.prototype中所有的成员都可以被js中所有的对象使用!

  3.1. 方法: hasOwnProperty

        语法: 对象.hasOwnProperty("属性名")
        功能: 判断当前对象自身是否拥有指定的属性!
        // var obj = {
        //     name: "胡聪聪"
        // };
        // console.log("toString" in obj);//ture (in判断的是当前对象能否访问.toString方法)
        // console.log(obj.hasOwnProperty("toString"));//false  ( 判断当前对象自身是否拥有指定的属性)

   3.2. 方法: isPrototypeOf

       语法: 对象.isPrototypeOf(另一个对象)
       功能: 判断当前对象是否是另外一个对象的原型
        // var obj = {
        //     name: "王思聪"
        // } 
        // var obj1 = {
        //     name: "王健林"
        // }
        // obj.__proto__ = obj1; 
        // console.log(obj1.isPrototypeOf(obj));//true

   3.3 .方法: propertyIsEnumerable

        // 语法: 对象.propertyIsEnumerable("属性名")
        // 功能: 首先判断属性是否属于对象本身,再判断这个属性能否被(for-in)遍历,同时满足这两个条件,才会返回true
 
        //对象的属性能否被(for in)遍历,可以设置的!
        //怎么设置
        //Object.defineProperty
 
        // var obj = {
        //     name: "123"
        // }
        // var obj1 = {
        //     money: 99999
        // }
        // var obj2 = {
        //     house: "大别墅"
        // } 
        // obj.__proto__ = obj1;
        // obj1.__proto__ = obj2; 
        // for(var k in obj){
        //     console.log(k);//name   money   house
        // }
        // console.log(obj.propertyIsEnumerable("name"));//true
        // console.log(obj.propertyIsEnumerable("money"));//false

    3.4. toString和toLocaleString都是将对象转换成字符串

        //toLocaleString是将对象转换成本地格式的字符串(时间字符串)
        // var obj = new Date();
        // console.log(obj.toLocaleString());  //2017-8-2 19:30:32
        // console.log(obj.toString());  //Wed Aug 02 2017 19:30:32 GMT+0800 (中国标准时间)
 
 
       //Object.prototype.toString.call(对象)  对象自身有.toString属性,Object原型也有,这个方法可以直接用Object原型的方法
        var obj = new Date();
        console.log(obj.toString());//Wed Aug 02 2017 19:35:23 GMT+0800 (中国标准时间)
        console.log(Object.prototype.toString.call(obj));//[object Date]
        var arr = [];
        console.log(arr.toString());//""
        console.log(Object.prototype.toString.call(arr));//[object Array]    object==>  typeof arr    Array==> 构造函数
 
         console.log(obj.constructor.toString());  //function Date() { [native code] }

     3.5. valueOf

          {}.valueOf()  //{}
          [].valueOf()  //()
            //获取对象的值  
        //当引用类和值类型数据运算的时候,会先调用valueOf方法,尝试使用返回值运算,如果不能运算,就继续调用toString方法获取返回值运算!
        // var obj = {
        //     valueOf: function () {
        //         return 1
        //     }
        // };
        // console.log(obj + 1);//2

Object.prototype的成员介绍

标签:运算   call   .property   name   const   one   使用   turn   时间   

原文地址:https://www.cnblogs.com/pavilion-y/p/8136835.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!