1、普通函数
this指向,调用该函数的作用域
var name = 'window'
function getName () {
console.log(this.name)
}
var A = {
name: 'A',
f: getName
}
getName() // window
A.f() // A
var B = {
name: 'B',
f: A.f // A和B的函数f,都是指向同一个【引用地址】
}
B.f() // B
2、箭头函数
this指向箭头函数的上级作用域
var name = 'window'
var A = {
name: 'A',
f: () => {
console.log(this.name)
}
}
A.f() // window
var D = {
name: 'D',
f: function() {
var func = () => {
console.log(this.name)
}
}
}
D.f() // D