美文网首页
js this的指向

js this的指向

作者: 捞档哥 | 来源:发表于2022-10-18 14:45 被阅读0次

this 绑定规则:
默认绑定:this 绑定到全局对象
隐式绑定:一般绑定到调用对象,如 obj.foo 绑定到 obj
显式绑定:通过 call、apply 指定 this 绑定到哪里
硬绑定:使用 bind 函数
new 绑定:使用 new 关键词,绑定到当前函数对象

this 绑定规则优先级:
默认绑定 < 隐式绑定 < 显式绑定 < new 绑定

判断 this 最终指向,总体流程:
1.判断函数调用时是否使用了 new,即 new 绑定,如果使用了,则 this 绑定的是新创建的对象。
2.函数调用是否使用了 call、apply 等显式绑定,或者硬绑定(bind),如果是的话,this 指向指定的对象。
3.函数是否在某个上下文对象中调用,即隐式绑定,如 obj1.foo,如果是的话,this 指向绑定的那个上下文对象。
4.以上 3 点都不涉及的话,则采用默认绑定,但是需要注意的是,在严格模式下,默认绑定的 this 是 undefined,非严格模式下绑定到全局对象。

相关文章

  • JS进阶篇-this指向问题

    JS中this的指向问题不同于其他语言,JS中的this不是指向定义它的位置,而是在哪里调用它就指向哪里。 JS中...

  • js的this指向

    参考文章:1.彻底理解js中this的指向,不必硬背https://www.cnblogs.com/pssp/p/...

  • JS this指向

    一、js中的四种调用模式s 构造函数调用:new Foo(); 对象方法调用:o.method(); 函数直接调用...

  • js this指向

    this指向调用该函数的对象 在函数中this到底取何值,是在函数真正被调用执行的时候确定的,函数定义的时候确定不...

  • JS this指向

    首先,请牢记以下三点1. this指向的,只可能是对象!2.this指向谁,不取决于this写在哪!而是取决于函数...

  • JS this指向

  • java 有关this,apply使用

    js的call js的this指向改变 使用 java 的 apply

  • js中this问题小结

    在使用js中的this时,由于js的语法规则,this的指向是会改变的,js中的this指向是根据函数在执行时的作...

  • js函数this的指向

    箭头函数 (()=>{}) 函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。 functio...

  • JS中this的指向

    什么是this? 它是函数运行时,在函数体内部自动生成的一个对象,只能在函数体内部使用。 JS中this的指向,取...

网友评论

      本文标题:js this的指向

      本文链接:https://www.haomeiwen.com/subject/anvezrtx.html