美文网首页
关于call和apply

关于call和apply

作者: 一切知行合一 | 来源:发表于2017-08-08 19:54 被阅读9次

一直没弄太懂这两个函数方法怎么玩。今天认真把高程看了下。终于理解了。

  • 首先,在js中,函数是对象,方法是对象上的定义的函数。可以把所有函数看作对象的方法。
  • 那么,fn.call( window, arg1, arg2)(fn是函数)的意思,就是把fn看作window的方法,传入argument调用。即使window作用域中没有定义这一函数。。。
  • 以此类推,可以把任一方法(或函数)给任一对象用。(不知道可不可以这样理解)
    而apply与call的区别仅在于参数必须是arguments或数组。比如:fn.call( window, arg1, arg2)用apply表示就是fn.apply( window, [arg1, arg2])

相关文章

网友评论

      本文标题:关于call和apply

      本文链接:https://www.haomeiwen.com/subject/lhqtrxtx.html