2.17

  1. 作用域 一共有三种
    • 全局作用域
    • 函数作用域
  • let const 的块级作用域 !
  1. 函数调用
  • .call
    1. 第一个参数是this
    2. 其他参数是arguments 。function.arguments 属性代表传入函数的实参,它是一个类数组对象。
    3. 返回值用与返回结果
    4. 形参就是 var a = arguments[0]
  • .apply
    1. 第一个参数是this
    2. 第二个参数是个数组就是arguments

call和apply只是参数的形式不一样

this永远指向函数表达式或者函数声明被执行的那一刻调用该函数的那个对象。

请记住这句话:when a function of an object was called , the object will be passed to the execution context as 'this' value .也就是说,当一个函数被调用时,拥有它的object会作为this传入。在global下,就是window or global,其他时候就是相应的object。 也可以看到,call和apply就是利用这一点实现更改this 值的。
作者:杨志
链接:https://www.zhihu.com/question/19636194/answer/13511325
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

http://web.jobbole.com/82262/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容