摘要:
首先我们来看看var obj = new O()这条语句发生了什么:var obj = (function(){ var obj = {}; obj.__proto__ = O.prototype; //其他赋值语句... return obj;})();也就是说var obj = new O()返回了一个obj对象,它的隐式原型链(__proto__)是指向O原型(prototype)的。这就是new的内部工作方式。下面再看instanceof,假设现在有 x instanceof y 一条语句,则其内部实际作出了如下的判断:while(x.__proto__!==n... 阅读全文