var a = 11
function test1() {
this.a = 22
let b = function () {
console.log(this.a)
}
b()
}
var x = new test1()
var a = 11
function test2() {
this.a = 22
let b = () => {
console.log(this.a)
}
b()
}
var x = new test2()
//输出22
[JavaScript面试问题]7. 如何正确判断this?
最新推荐文章于 2024-09-29 11:29:55 发布
本文深入探讨JavaScript中的作用域、this关键字的上下文变化,以及箭头函数如何影响this的指向。通过两个示例函数test1和test2,解释了在构造函数中使用this和箭头函数时,this的值如何确定。在test1中,this.a在箭头函数内指向全局变量,而在test2中,由于箭头函数不创建自己的this上下文,因此this保持为构造函数内的this值,导致输出为22。
摘要由CSDN通过智能技术生成