简单总结下this用法

Posted whalex

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单总结下this用法相关的知识,希望对你有一定的参考价值。

JS里的this很基础,看了下 MDN??MDNthis介绍 总结下:

 

1、全局上下文

  this指的就是 window

 

2、函数上下文

  当this在函数上下文时候,就需要根据运行时去判断具体取值

  2.1、简单调用  

  这里this指向window

  技术分享图片

  2.2严格模式下

    在严格模式下,this将保持他进入执行上下文时的值,所以上面栗子在严格模式中this指向undefined

   技术分享图片

   2.3 改变调用上下文

    通过使用 call、apply改变调用上下文

    技术分享图片

  3、bind用法

  ES5引入bind用法,可以将函数function赋值给一个变量,生成一个新函数,但是此函数里的this指向由此固定,即使调用call 或者再次 bind都不会改变

    技术分享图片

 4、this在对象的方法里

    技术分享图片

 5、箭头函数中的this

   箭头函数中的this,指向声明时候 全局上下文,且不会因为 call apply等调用改变上下文  

      全局箭头函数:

           

技术分享图片

     作为对象方法内部:

      技术分享图片

   6、在构造函数、原型链中

   当this出现在 构造函数、原型链中时,this指向会在new 之后指向新声明的对象

以上是关于简单总结下this用法的主要内容,如果未能解决你的问题,请参考以下文章

Android适配器之ArrayAdapterSimpleAdapter和BaseAdapter的简单用法

Java习惯用法总结

ngx-translate实现国际化:this.translate.use()this.translate.get()this.translate.instant()onLangChange(代码片段

JS中的this的应用总结

JavaSE 方法的使用

java中super和this用法总结