方法调用:从一个对象上调用方法,对象中的this指向对象本身
函数调用:这种调用没有指向,其this指向全局对象(window或global)
const Circle = function() {
this.draw = function() {
console.log(this)
}
}
const c = new Circle()
// method call
c.draw()
const draw = c.draw
console.log(draw)
draw()

JavaScript运行环境总是以严格模式执行类中的内容,避免意外的修改全局属性
class Circle {
draw() {
console.log(this)
}
}
const c = new Circle()
const draw = c.draw
draw()


本文探讨了JavaScript中this关键字的指向规则,包括方法调用和函数调用的区别,以及在类中使用this的特性。在方法调用时,this指向调用该方法的对象;而在函数调用时,this通常指向全局对象。此外,文章还提到了JavaScript在类中的严格模式执行,防止意外修改全局属性。
575

被折叠的 条评论
为什么被折叠?



