全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  应聘面试  >  html5面试题

对this的理解,三种改变this的方式

发布时间:2022-11-18 16:39:32
发布人:syq

  - 1.任何情况下直接在script中写入的this都是window。

  - 2.函数中的this 非严格模式:this指向window, 严格模式时:this指向undefined。

  - 3.箭头函数的this this都指向箭头函数外上下文环境的this指向

  - 4.对象中this 对象属性的this 指向对象外上下文环境的this 对象方法(普通函数)中的this,指向当前对象(谁执行该方法,this就指向谁)

三种改变this的方式

  - 5.回调函数的this指向

  - 1)、 setTimeout,setInterval回调函数不管是否是严格模式都会指向window。

  - 2)、通过在函数内执行当前回调函数 非严格模式:this指向window, 严格模式时:this指向undefined。

  - 3)递归函数中的this 非严格模式:this指向window, 严格模式时:this指向undefined。 - 使用arguments0执行函数时 this指向arguments。

  - 5)事件中的回调函数,this指向事件侦听的对象(e.currentTarget);

  - 6、call,apply,bind方法执行时this的指向 - 如果call,apply,bind传参时,第一个参数传入的不是null或者undefined,传入什么this指向什么 - 如果第一个参数传入的是null或者undefined ,非严格模式下指向window

  - 7、在ES6的类中this的指向 - 构造函数中的this指向实例当前类所产生的新的实例对象 - 类中实例化方法中this指向谁执行该方法,this指向谁 - 类中静态方法中this执行该类或者该类的构造函数 - 类中实例化箭头方法,this仍然指向当前类实例化的实例对象

  - 8、ES5的原型对象中this的指向 - 在原型的方法中,this指向实例化当前构造函数的实例化对象(谁执行该方法,this指向谁); - 三种改变this指向的方式 - 函数名.call(this,....)this写谁就指谁。 - 函数名.apply(this,[参数1,参数2,...]) this写谁就指谁。 - 函数名. bind (this,1,2,3) this写谁就指谁。

相关文章

前端公司面试题——jquery移除class

2023-08-07

前端JavaScript面试题——js时间戳转换时间的方法

2023-08-04

前端中JavaScript常见的面试题——js年月日转为时间戳

2023-08-02

前端jquery面试题——jquery字符串包含哪些?

2023-08-01

前端JavaScript面试题——js如何创建函数?

2023-07-31

前端程序员面试题——jquery发送get请求的步骤

2023-07-28
在线咨询 免费试学 教程领取