debug|this

debug

Edge浏览器源代码,可以给代码打断点

this

解析器在调用函数每次都会向函数内部传递一个隐含的参数=====> thisthis指向一个对象,这个对象称为函数执行的上下文对象。

根据函数的调用方式不同,this会指向不同的对象

  1. 以函数的形式调用时,this永远是window function fun(){}
  2. 以方法的形式调用时,this是调用方法的对象。 obj.fun(){}
  3. 当以构造函数形式调用时,this是新创建的那个对象。 类似于 2
  4. 在事件的响应函数中,响应函数是谁给绑定的,this就是谁。例:object.event = function(){}this == object
function fun(){
    console.log(this.name);
}
var name = "233";
fun(); //233
var obj = {
    name:"666",
    miao: "5555",
    sayName: fun
}
var obj2 = {
    name:"obj2DEname",
    sayName:fun
}
obj.sayName(); //666
obj2.sayName(); //obj2DEname
最后修改:2022 年 01 月 16 日
如果觉得我的文章对你有用,请随意赞赏