方法调用:从一个对象上调用方法,对象中的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()