call 方法的使用

来源:互联网 发布:广联达软件好学吗 编辑:程序博客网 时间:2024/05/21 06:11
简单的例子一个:

function Class1()
{
    this.name = “class1″;
    //js闭包
    this.showName = function()
    {
        alert(this.name);
    }
}

function Class2()
{
    this.name = “class2″;
}
var c1 = new Class1();
var c2 = new Class2();
c1.showName.call(c2);

c1.showName.call(c2)中call方法把c1的方法放到了c2上执行,因为call方法替换的是函数内部this.name = “class2″后执行的方法,也就是说

执行c1.showName.call(c2)等同于执行

function Class2()
{
    this.name = “class2″;

 this.showName = function()
    {
        alert(this.name);
    }

}