关于js中的this之判断this

时间:2023-03-09 15:06:17
关于js中的this之判断this

this绑定规则的优先级顺序

new操作符绑定 > 显示绑定 > 隐式绑定 > 默认绑定
所以在判断函数在某个调用位置应用的是哪条规则,可以按下列这样的顺序
if(函数在new中调用(new绑定))
{
this绑定的是新建的对象;
}
else if(函数通过以call,apply(显示绑定)||硬绑定调用)
{
this绑定的是指定的对象;
}
else if(函数在某个上下文对象中调用(隐式绑定))
{
this绑定的是那个上下文对象;
}
else
{
函数使用的是默认绑定;
if(在严格模式下){
this绑定到undefined;
}
else{
this 绑定到全局对象;
}
}