flowchart TD
A[如何判断this指向] --> B{是否为箭头函数?};
B -->|Yes| C[箭头函数会继承外层<br>函数调用的this绑定];
C -->|判断外层函数| B;
B ---->|No| D{函数是否在new中调用?};
D -->|Yes| E[this绑定的是<br>新创建的对象];
D -->|No| F{函数是否通过call,apply<br>或者硬绑定调用?};
F -->|Yes| G[this绑定的是指定的对象];
F -->|No| H{函数是否在某个<br>上下文对象中调用?};
H -->|Yes| I[this绑定的是那个上下文对象];
H -->|No| J[默认绑定,<br>如果在严格模式下,<br>就绑定到undefined,<br>否则绑定到全局对象];