【发布时间】:2016-03-03 04:24:14
【问题描述】:
function funcObj() { }
funcObj.prototype.greet = "hello";
console.log(funcObj.greet) // undefined ???
console.log(funcObj.prototype.greet) // hello
var obj = new funcObj();
console.log(obj.greet); // hello
根据我对原型的理解。如果您访问对象的成员,它将在该对象中不可用时从原型对象中获取它。
我的问题是:
既然 Javascript 中的函数是对象,为什么 funcObj.greet -> 未定义,但 obj.greet -> 你好?
【问题讨论】:
-
只有构造函数具有
.prototype属性,当您使用new调用它们时会使用该属性。所有对象都有一个原型,但这不是一个属性。
标签: javascript prototype