美文网首页
菜鸡学ECMAScript5 - 对象的原型属性和类属性

菜鸡学ECMAScript5 - 对象的原型属性和类属性

作者: 菜鸡 | 来源:发表于2016-07-07 13:26 被阅读50次

    //对象的属性

    //1:对象的原型属性
    //创建Test对象
    var Test = {};
    //设置Test对象的多个属性 defineProperties
    Object.defineProperties(Test, {
        'username': {
            value: 'jack',
            writable: true,
            enumerable: true,
            configurble: true
        },
        age: {
            value: 18,
        },
    });
    //新增一个属性
    Test.add = '中国';
    //(Object.getOwnPropertyDescriptor(对象名, '属性名'))
    //检测对象中某个属性的状态
    console.log(Object.getOwnPropertyDescriptor(Test, 'add'));
    //把Test对象赋给S对象
    var S = Object.create(Test);
    //(原型对象名.isPrototypeOf(对象名))
    //检测某个对象是否是另外一个对象的原型
    console.log(Test.isPrototypeOf(S));
    
    //2:对象的类属性
    //对象的类是一个表示对象的字符串,可通过toString来获得类型
    var obj = {};
    console.log(obj.toString());
    //很多内置函数被重写了所以要用下面的方法来获得类型
    var date = new Date();
    console.log(Object.prototype.toString.call(date));
    
    
    
    /////////////////////////////////////////////////////////
    
    
    //写一个对象类型的方法
    function classof(objclass) {
        if (objclass === null) {
            return 'NULL';
        }
        if (objclass === undefined) {
            return 'Undefined'
        }
        //slice()方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
        return Object.prototype.toString.call(objclass).slice(8, -1);
    };
    var x = 1;
    //var x = new Date();
    console.log(classof(x));

    相关文章

      网友评论

          本文标题:菜鸡学ECMAScript5 - 对象的原型属性和类属性

          本文链接:https://www.haomeiwen.com/subject/hulljttx.html