【发布时间】:2013-07-06 02:45:27
【问题描述】:
考虑这段代码:
在hello 函数中,我使用this.msg。这工作正常。但是,如果我不使用 this,它会给出一个 msg 未定义的错误。为什么 JavaScript 会混淆,而在许多其他 OO 语言中,this 仅用于使代码对读者显式?
var smallMap = {
msg: "Hellow ",
hello: function(name) {
console.log(this.msg + name);
}
};
【问题讨论】:
-
因为
smallMap是一个对象?我个人觉得明确>隐含:) -
Javascript 并不是真正的 OO,它只是在必要时通过设置
this来伪装它。 -
@Barmar 这是一个主观论点,这取决于您对 OOP 的理解。
-
是的。每种 OO 语言在实现访问实例变量的方式上都略有不同。 JS 要求你通过
this来做。
标签: javascript oop