debug|this
debug
Edge浏览器源代码,可以给代码打断点
this
解析器在调用函数每次都会向函数内部传递一个隐含的参数=====>
this
,this
指向一个对象,这个对象称为函数执行的上下文对象。根据函数的调用方式不同,
this
会指向不同的对象
- 以函数的形式调用时,
this
永远是window
function fun(){}
- 以方法的形式调用时,
this
是调用方法的对象。obj.fun(){}
- 当以构造函数形式调用时,
this
是新创建的那个对象。 类似于 2- 在事件的响应函数中,响应函数是谁给绑定的,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