this是js语言中的一个关键字 它代表了一个对象
官方的说法 this代表的是环境对象
其实 this就是一个函数的调用者
口诀:在代码中离this最近的function这个单词或者方法 的调用者 就是this代表的对象 找不到function或者方法 this就是顶层对象
一个函数被执行根据它的业务场景可以有很多名称 :闭包 回调函数 事件处理程序 构造函数 方法 api sdk 模块 代码块
函数的运行一定有一个对象来调用
有一些特殊的函数调用者写法
1、fn() // window 引用了这个函数也是持有者 同时调用了它也是调用者
2、arr[0].xx.xx[10]() // arr[0].xx.xx是持有者 ,同时也是调用者
3、(function() {})() // window 调用
4、(obj1.xx)() // obj1
5、(运算过程) // win ==> 小括号指向一个运算结果,这个结果是函数,然后调用