new对象

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

对象new的流程

当我们使用new关键字时,我们就创建了一个对象。比如new Date();

那么,创建对象的流程是怎样呢?

function A() {
    this.name = "abc";
    return {
        xingming:"bbc";
    }
}
var a = new A();
a instanceof A;//false
A.prototype.isPrototypeOf(a);//false

new + function

创建对象时new的肯定是构造函数了,是函数。
创建对象时,会将对象的[[Prototype]]内置属性指向,构造函数的原型(prototype)。

实际上:a instanceof b;判断a对象是否是b构造函数的实例 的内部过程是:判断a中 [[Prototype]] 所指向的是否是构造函数b的prototype(原型)。所以,类(采用其他oop语言的说法)的真实的唯一的标识是构造函数的原型。

上一篇 下一篇

猜你喜欢

热点阅读