Chrome开发工具中没有原型属性

时间:2015-12-20 11:55:20

标签: javascript

我刚刚打开Chrome Dev Tools并输入了以下代码:

function Car() { 
    this.value = 10; 
}
var cc = new Car();

但是当我输入这段代码时:

cc.prototype

我得到了undefined。为什么呢?
据我所知'cc'对象必须与Car构造函数具有相同的原型。

2 个答案:

答案 0 :(得分:0)

您需要使用cc.__proto__来获取原型对象。

请参阅https://stackoverflow.com/a/9959753/4466618了解差异。

答案 1 :(得分:0)

原型位于cc.__proto__属性中。

浏览器(JS引擎)将它放在那里。

新功能类似于:

function new() {
   var newObj = {},
   fn = this,
   args = arguments,
   fnReturn;

   // Setup the internal prototype reference
   newObj.__proto__ = fn.prototype;

   // Run the constructor with the passed arguments
   fnReturn = fn.apply(newObj, args);

   if (typeof fnReturn === 'object') {
       return fnReturn;
   }

   return newObj;
}

这一行是您的相关行:

newObj.__proto__ = fn.prototype;

Object.prototype

Car.prototype是Car对象的所有方法和属性的定义。 cc实例将其存储在__proto__