解析器在调用函数每次都会向函数内部传递进一个隐含的参数,这个隐含的参数就是this,this指向的是一个对象,这个对象我们称为函数执行的 上下文对象,根据函数的调用方式不同,this会指向不同的对象。
- 以函数的形式调用,this永远都是window
function fun(){
console.log(this)
}
// 以函数形式调用,this是window
fun();
- 以方法的形式调用时,this就是调用的方法的那个对象
function fun(){
console.log(this)
console.log(this.name)
}
var name = "全局的name属性"
var obj = {
name:"啦啦啦",
sayName:fun,
}
var obj2 = {
name:"噜噜噜",
sayName:fun,
}
// 以方法形式调用,this是obj
obj.sayName();
obj.sayName();
fun();
我是本篇小编kk,遇到Bug需要帮助,欢迎加wx:xmzl1988 ,备注"csdn博客“,温馨提示此为非免费服务;