代码如下:
<script type="text/javascript">
//定义猫的对象
var kitty = {color:'yellow',bark:function(){alert('喵喵');},climb:function(){alert('我会爬树')}};
//定义猫的对象
var kitty = {color:'yellow',bark:function(){alert('喵喵');},climb:function(){alert('我会爬树')}};
//老虎对象的构造函数
function tiger(){
this.color = "yellow and black";
this.back = function(){
alert('吼吼...');
}
}
//给构造函数声明原型,那么构造出的对象,就会有一个祖先:即该原型
tiger.prototype = kitty;
//或 tiger.prototype = new kitty();//如果kitty为function,则采用这种方式
var t = new tiger();
document.write(t.color);
t.climb();//当调用老虎的属性或方法时,首先在其构造函数找;如果没有,则到老虎构造函数的原型。但要注意,这里它并不是把原型对象里的climb()方法复制到自身。这就是原型链查找。
</script>
其它说明:kitty也是有构造方法的,即new Object()。Object默认也有一些方法和属性,见javascript手册中的 "object对象"。同时,它也有原型,只是为空而已 { }。