1.this(源码见20200812-----01.html)
解析器在调用函数每次都会向函数内部传递进一个隐含的参数,这个隐含的参数就是this,this指向的是一个对象,这个对象我们称为函数执行的上下文对象
function fun(){
console.log(this)
}
fun()
根据函数的调用方式的不同,this会指向不同的对象
- 以函数的形式调用时,this永远都是window
- 以方法的形式调用时,this就是调用方法的那个对象
function fun(){
console.log(this)
}
var obj = {
name:"孙悟空",
sayName:fun
}
obj.sayName()
fun()
3.this的应用:
如果想分别输出两个对象的name,则使用this.name。此时谁调用函数fun,this就是谁。
var name = "全局"
function fun(){
console.log(this.name)
}
var obj={
name:"孙悟空",
sayName:fun
}
var obj2={
name:"沙和尚",
sayName:fun
}
obj.sayName()
obj2.sayName()