Js方法延伸

constructor

2016-05-03  本文已影响43人  xgszl33614

constructor

var x = 3;
x.constructor; // function Number () { } , 是一个函数
typeof (x.constructor); // function
x.constructor == Number; // true

为什么x会有constructor属性。因为每一个构造函数原型都会生成constructor属性,且这个属性指向构造函数。而实例对象是继承了原型的属性和方法的

用法:判断给定对象为什么类

function type(x) {
    if (x == null) return ""; //Null 和 undefined 没有构造函数
    switch (x.constructor) {
        case Number: return "Number"; //处理原始类型
        case String: return "String"; //处理原始类型
        case Date: return "Date"; //处理内置类型
        case Complex: return "Complex"; //处理自定义类型
    }
}
上一篇下一篇

猜你喜欢

热点阅读