ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## this 指代哪个对象? 1、通常在函数中的 this 指向的是调用函数的那个对象(谁调用指向谁) 2、事件函数中的 this 通常指向的是绑定事件的事件源元素 3、构造函数中的 this ,(使用 new 调用构造函数创建对象),通常指向的是 new 所创建出来的对象本身 4、全局范围的 this 通常指向的是全局对象(浏览器中是 window) #### 修改 this 指向: ``` Function.prototype.bind(thisArg) -- ES5 ``` 能够返回一个新函数,该新函数的主体与原函数主体一致,但当新函数被调用执行时,函数体中的 this 指向的是 thisArg 所表示的对象 ``` Function.prototype.call(thisArg, val1, val2, ....) ``` 调用函数执行,在函数执行时将函数体中的 this 指向修改为 thisArg 所表示的对象 val1, val2, .... 表示传递给调用函数的实际参数列表 ``` Function.prototype.apply(thisArg, array|arguments) ``` 调用函数执行,在函数执行时将函数体中的 this 指向修改为 thisArg 所表示的对象, array|arguments 表示调用函数的参数列表,使用数组或类数组的格式