网站制作学习网JS脚本→正文:javascript继承方式之apply()方法
字体:

javascript继承方式之apply()方法

JS脚本 2010/3/4 12:03:07  点击:不统计


apply()方法也是javascript继承方式之一,和call()方法有些类似.
apply()方法有两个参数,用作this的对象和要传递函数的参数的数组.根call()的区别就是传递的参数,call()传递的是单个或者多个参数,而apply()传递的是参数的数组,只有一个参数也就是参数数组,但数组的长度不定.
举例:
function show_name(str)
{
alert(str+this.name);
}
var obj = new Object;
obj.name = "javascript继承方式之apply()方法";
show_name.apply(obj,array("测试名称:"));//输出:"测试名称:javascript继承方式之apply()方法"学习www.网for站asp制.cn作
如果替换为对象冒充方法,如下
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.apply(this,arguments);//这样就替换成了新的apply方法.arguments表示参数数组
}
var obj = new B("apply方法名");
obj.show_name()//输出"apply方法名"
只有超类的参数顺序根子类中的参数顺序完全一致时才可以用arguments传递参数,否则必须创建一个新的数组来传递参数

·上一篇:javascript继承方式之call()方法 >>    ·下一篇:javascript继承方式之原型链 >>
推荐文章
最新文章