this的理解

1.方法调用模式中


代码

     sayName函数作为对象obj的方法调用,所以函数体中的this就代表obj对象。

2.函数调用模式


代码

在这种函数调用的情况下 this 就是window ,其实也可以这样理解 

sayHello ()的调用其实就是 window.sayHello();这样就好理解了。

3.构造函数模式


代码

如果在一个函数前面增加new 关键词则意味着是创建一个由构造函数(Person)生成的对象 person , 构造函数中的this则属于由构造函数生成的那个对象 可以理解为 person = Person 中的this .

4.apply模式


代码片段

当函数调用的时候,this代表的是window

当用apply模式调用sayName,并给它传入的第一个参数为person时,this被绑定到person对象上。apply的作用就是改变this指向

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

推荐阅读更多精彩内容

  • Scala与Java的关系 Scala与Java的关系是非常紧密的!! 因为Scala是基于Java虚拟机,也就是...
    灯火gg阅读 3,537评论 1 24
  •   面向对象(Object-Oriented,OO)的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意...
    霜天晓阅读 2,175评论 0 6
  • 欢迎来我的博客阅读:《加深对 JavaScript This 的理解》 我相信你已经看过很多关于 JavaScri...
    JC_Huang阅读 426评论 0 4
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 5,288评论 0 21
  • 简述 本次将对Kotlin中的特殊类:数据类,密封类以及伴生对象做深入的学习研究,总结优点。 数据类 通过java...
    i校长阅读 417评论 0 1