美文网首页
this 的绑定规则二

this 的绑定规则二

作者: alue | 来源:发表于2023-03-09 18:50 被阅读0次

this 的第二个绑定规则是隐式绑定, 即指向上下文对象.

function foo(){
    console.log(a); 
    console.log(this.a); 
}

var obj = {
    a:2,
    foo:foo,
}
var a = 1;

obj.foo() // 依次输出 1 和 2

连续的两次打印, 依次输出 1 和 2. 可以看出在 foo 函数内 a 并不等于 this.a. 这里的 this 指向了 obj 对象.

但是, 如果这样调用

var bar = obj.foo
obj.foo() // 1,2
bar() // 1,1

看上去, 像是等价的语句, 执行结果却不同. 这是因为在 js 中, 函数并不是属于某个对象的. 即便 obj 有个属性绑定了函数 foo, 但 foo 本身是独立于对象obj之外的. 因此, obj.foo() 能够触发隐式绑定, 但 var bar = obj.foo 并不会, 因为 bar并不会引入obj的任何信息, this 自然也无法绑定 obj.

相关文章

  • JavaScript中的this关键字

    目录 一、是什么 二、为什么 三、调用位置与调用栈 四、绑定规则:默认绑定,隐性绑定,显现绑定,new绑定 五、判...

  • Javascript之this

    一.、概念 this是在运行时进行绑定的,不是在编写时进行绑定,取决于函数的调用方式 二、四条绑定规则 默认绑定即...

  • JS this机制

    目录 this 是什么 this 的四种绑定规则 绑定规则的优先级 绑定例外 扩展:箭头函数 this 是什么 理...

  • js中的this详细介绍

    目录this 是什么this 的四种绑定规则绑定规则的优先级绑定例外扩展:箭头函数this 是什么理解this之前...

  • Element-UI表单验证

    校验规则 表单通过rules属性绑定校验规则对象,表单项通过prop属性绑定具体校验规则 注意校验的字段必须和表单...

  • 如何正确的判断this? 箭头函数的this是什么?

    this的绑定规则有四种:默认绑定,隐式绑定,显式绑定,new绑定 。 函数是否在 new 中调用(new绑定),...

  • this

    绑定4规则: 调用new:this绑定到新创建的对象 显示绑定:使用call、apply、bind等方法 调用绑定...

  • this 的绑定规则一

    this 的第一个绑定规则是默认绑定, 即指向全局对象. 在无法应用其它三个规则时, 就会默认使用这个规则. 如果...

  • this对象

    绑定规则: 默认绑定 隐式绑定 显示绑定 new绑定 判断this 现在我们可以根据优先级来判断函数在某个调用位置...

  • this的绑定规则

    首先声明,this是在运行时绑定的,并不是在编写时绑定,它的上下文取决于函数调用时的各种条件。常见的this绑定规...

网友评论

      本文标题:this 的绑定规则二

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