数据类型实现模型 - 图1
    Build-in data structure: 指JS内部用于实现类型的数据结构,这些结构我们基本上无法直接操作。
    Build-in object: 指JS内置的Number, String, Boolean等这些对象,这是JS将内部实现的数据类型暴露给开发者使用的接口。
    Build-in
    constructor: 指JS内置的一些构造器,用来构造相应类型的对象实例。它们被包装成函数对象暴露出来,例如我们可以使用下面的方法访问到这些函数对象:

    1. //Passed in FF2.0, IE7, Opera9.25, Safari3.0.4
    2. //access the build-in number constructor
    3. var number = new Number(123);
    4. var numConstructor1 = number.constructor; //or
    5. var numConstructor2 = new Object(123).constructor;
    6. //both numConstructor1 and numConstructor2 are the build-in Number constructor
    7. numConstructor1 == numConstructor2 //result: true
    8. //access the build-in object constructor
    9. var objConstructor1 = {}.constructor; //or
    10. var objConstructor2 = new Object().constructor;
    11. //both objConstructor1 and objConstructor2 are the build-in Object constructor
    12. objConstructor1==objConstructor2 //result: true


    具体实现上,上图中横向之间可能也存在关联,例如对于build-in data structure和constructor,Function、 Date、 Array、 RegExp等都可以继承Object的结构而实现,但这是具体实现相关的事情了。