javascript杂谈:继承
众所周知,javascript 是基于对象的语言,没有提供继承机制,但是可以通过一些手段实现继承,而实现继承主要依靠prototype。
1.
function Animal()
{
//构造函数
this.color = "红色";
}
Animal.prototype.run = function()
{
alert("奔跑!");
}
function Cat()
{
//构造函数
}
//继承方法
Cat.prototype = new Animal();
//添加子类实例方法
Cat.prototype.eat = function()
{
alert("吃鱼!");
}
上面的继承是如何实现的,请看下图:
2.若prototype属性是引用类型,则被所有实例共享。将Animal类color属性修改成引用类型,会影响所有Animal类的实例。将Animal类和Cat类的构造方法修改一下:
function Animal()
{
//构造函数
this.color = ["红色","绿色","蓝色"];
}
function Cat()
{
//构造函数
Animal.call(this);
}
作者:guangzi
出处:http://www.cnblogs.com/guangzi/
以上内容,仅代表个人的观点与看法,欢迎吐槽,请勿较真。