千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  应聘面试  >  html5面试题  > 对this的理解,三种改变this的方式

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

来源:千锋教育
发布人:syq
时间: 2022-11-18 16:39:32 1668760772

  - 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写谁就指谁。

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT