【发布时间】:2013-12-17 21:27:59
【问题描述】:
考虑以下 sn-p:
function Dog(){this.tail = true;}
var benji = new Dog();
var rusty = new Dog();
Dog.prototype.say = function(){return 'Woof!';}
alert(benji.say()); // this alerts woof!
alert(rusty.say()); // this alerts woof!
alert(benji.constructor.prototype.constructor); // THIS ALERTS THE DOG FUNCTION
alert(typeof benji.constructor.prototype.tail) // THIS ALERTS UNDEFINED
为什么benji.constructor.prototype.constructor alert 狗会起作用?
不应该是Object()构造函数吗?
【问题讨论】:
-
benji.constructor == Dog只是因为Dog.prototype.constructor = Dog -
tail 是一个特定于实例的成员,并且说是一个原型(共享)成员,更多关于原型和构造函数的信息在这里:*.com/a/16063711/1641941
标签: javascript inheritance constructor prototypal-inheritance