3、基于new关键字
// 基于new关键字调用的函数内部this指向实例
function foo() {
console.dir(this) // foo实例
console.log(this instanceof foo) //true
console.log(foo.prototype.isPrototypeOf(this)) //true
that = this
}
var that
const f = new foo()
console.log(that === f) // true
----------------------------------------------
// 嵌套函数内部this与调用函数所在环境的this无关
function foo() {
console.dir(this) // foo实例
function boo() {
console.dir(this) //window,严格下undefined
}
boo()
}
const f = new foo()