javascript继承方式之call()方法
JS脚本 2010/3/4 12:00:55 点击:不统计
call()方法是经典的对象冒充方法最相似的方法,是javascript继承方式之一.
call()方法的第一个参数用this的对象.其它参数直接船体给函数本身.
举例说明
function show_name(str)
{
alert(str+this.name);
}
var obj = new Object;
obj.name = "javascript继承方式之call()方法";
show_name.call(obj,"测试名称:");//输出:"测试名称:javascript继承方式之call()方法"
网站制作学习网Foasp.cn
在上述例子中,函数show_name()在对像外定义,不属于任何对象,也可以引用关键词this.
call()引用了obj的对象,在函数中,this就是表示obj.
要替换一下原来的对象冒充方法,
function A(name)
{
this.name = name;
this.show_name = function(){alert(this.name);}
}
function B(name)
{
//this.new_method = A;
//this.new_method(name);
//delete this.new_method;
//吧上面的对象冒充方法解释掉
A.call(this,name);//这样就替换成了新的call方法.
}
var obj = new B("Call方法名");
obj.show_name()//输出"Call方法名"
原文章%77w%77%2Ef%6F%72%61%73%70%2E%63n