js中的prototype chain

注意proto只有在firefox下有效。

prototype chain就是说继承链。JavaScript用这种方式来实现继承。

以下例子在firebugs下完成:

function Hero(){this.name = “name”}
Hero.proto
function()
Hero.proto.proto
Object
Hero.proto.proto.proto
null
var t = new Hero()
t.proto
Object
t.proto.proto
Object
t.proto.proto.proto
null
function Hero2(){this.age = 23}
Hero.prototype = new Hero2
Object age=23
t.proto
Object
t.proto.proto
Object
t.proto.proto.proto
null
var tt = new Hero()
tt
Object name=name age=23
tt.proto
Object age=23
tt.proto.proto
Object
tt.proto.proto.proto
Object
tt.proto.proto.proto.proto
null

可以参见http://mckoss.com/jscript/object.htm中的图进行理解!我也只是稍微理解了一点点,请多指教!