javascript——this(随手谈that or $this)

  • 2019-03-17
  • 29
  • 0

谈谈this

相信作为一个前端,对this都不陌生,但是原理,使用场景啥的,你们都是靠debugger呢还是靠猜呢

说到this,就少不了function,因为只有调用了funtion,就会涉及到this, funciton 可以看我的另一篇文章jsvascript——call aplly bind,

MDN
深入理解下面这段:

在绝大多数情况下,函数的调用方式决定了this的值。this不能在执行期间被赋值,并且在每次函数被调用时this的值也可能会不同。ES5引入了bind方法来设置函数的this值,而不用考虑函数如何被调用的,ES2015 引入了支持this词法解析的箭头函数(它在闭合的执行环境内设置this的值)。

通常来说this的值是触发事件的元素的引用,这种特性在多个相似的元素使用同一个通用事件监听器时非常让人满意。

原理
阮老师写过一篇文章分析this的原理,感觉挺有道理的。
他的分析的this的设计原有,主要和内存里的数据接口有关系,具体请看传送门

通俗的理解就是this是对函数当前运行环境的一个引用。

总结
1.想把this的值从一个环境传到另一个环境,就要用call或者apply方法。
2.this 就是你 call 一个函数时,传入的第一个参数

评论

还没有任何评论,你来说两句吧

- 友情链接 - Theme by Qzhai