【Javascript】call/apply

2018-09-21  本文已影响0人  嘻洋洋

为什么要用call/apply

把一些通用函数写好,可以任意绑定在多个类的原型上,这样动态的给类添加了一些方法,还节省了代码。这是一种强大的功能,也是动态语言的强表现力的体现。JS 里的 call/apply 在任何一个流行的 lib 里都会用到,但几乎就是两个作用:

两个方法的用法说明

这两个方法从哪来的:

两个方法的区别,接收参数的方式不同:

    var Pet = {
        words : '...',
        speak : function (say) {
            console.log(say + ''+ this.words)
        }
    }

    Pet.speak('Speak'); // 结果:Speak...
    var Dog = {
        words:'Wang'
    }
    //将this的指向改变成了Dog
    Pet.speak.call(Dog, 'Speak'); //结果: SpeakWang
上一篇 下一篇

猜你喜欢

热点阅读