家长小本APP
人工智能亲子生活社区!
下载家长小本APP
JS绑定=>this
1472581

this绑定得五种场景,默认绑定、隐式绑定、显式绑定、new绑定、箭头函数绑定。

1.this默认绑定

this默认绑定可以理解为函数调用时无任何调用前缀的情景,默认绑定时this指向全局对象(非严格模式)

2.this隐式绑定

首先什么是隐式绑定,如果调用函数时,前面有调用他得对象,那this就会隐式绑定到这个对象上。如果函数调用前存在多个对象,this指向距离调用自己最近的对象(就是常说得谁调用函数this指向谁)。

3.this显示绑定

显示绑定时指我们用了apply/call/bind方法改变this指向得行为。(apply等方法传入指向对象为null或者undefind时,this会指向window)

apply/call/bind得区别:

apply和call在改变this得同时还执行函数,而bind则是返回一个新得绑定函数需再次调用。bind属于硬绑定,返回得新绑定函数得this无法在通过这些方法改变指向,而call与apply的绑定只适用当前调用,调用完就没了,下次要用还得再次绑。call跟apply传参方式不同,call是散参数形式,apply是传一个数组。

4.new 绑定

首先new一个对象发生了什么,以构造器的prototype属性为原型,创建新对象,将this(新对象)和调用参数传给构造器,执行,如果构造器没有手动返回对象,则返回第一步创建的对象这个过程我们称之为构造调用。

5.箭头函数this

箭头函数中没有this,箭头函数的this指向取决于外层作用域中的this,外层作用域或函数的this指向谁,箭头函数中的this便指向谁。除此之外,箭头函数this还有一个特性,那就是一旦箭头函数的this绑定成功,也无法被再次修改,类似硬绑定。

转载请注明来源:https://jiazhangxiaoben.com/nw/page/article/seocontent.html?id=252386
推荐日记
《开始阅读》
《亲子(1654)》
《物以类聚人以群分》
《小荷作文万米写书-33篇》
《“红领巾心向党”新队员入队仪式》
《第577篇教育的最高境界》
《软硬兼施改毛病》
《亲子日记为爱而写 201》
《亲子教育日记135之“比赛的意义”》
《桐嘉妈妈亲子记》
《随笔》
《睡前私聊几句》
《亲子日记》
《闺女的作业恢复原样了》
《教育亲子日记570》
《亲子日记,为爱而写【460】》
《亲子日记》
《为爱而写亲子日记246》
《亲子日记第二百七十九篇》
《亲子日记554 公园锻炼——全民健身的缩影》
《亲子日记514 05 27星期四》
《 难忘的义卖活动》
《5.28》
《和平》
《我和儿子的点点滴滴》
《检查视力》
《最高级的家庭教育,是父母做到这7点 》
《亲子日记235篇》
《短暂的相聚》
《实验小学102班潘思辰》
下载家长小本APP