您的位置:首页 > Web前端 > JavaScript

javascript 用call来继承实例属性

2015-06-01 09:42 501 查看
xxx.call(thisObj, arg1,...)的调用可以改变当前函数的执行环境为传入的thisObj对象。利用这一点可以实现继承————当前的对象获得XXX的属性和方法。

例子:

function Animal(){
this.name= 'animal';
this.say = function(){
alert(this.name);
}
}

Animal.prototype.walk = 'I can walk';

function Duck(){
Animal.call(this);
/*这样,就实现了凡是有构造函数Duck  new处理的对象就会继承Animal上的属性(name)和方法(say)*/
/*但是Animal的原型上面的属性和方法不会被继承。*/
/*也就是说通过这种方法只会继承实例属性,而不能继承原型属性。*/

this.color = 'white';
}

var duck = new Duck();

duck.say();//animal


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: