我有这段 Javascript 代码:
$scope.rectifyForm =
{
visible: false,
rateErrorMessage: "",
rectifyErrorMessage: "",
isValid: function () {
return this.rateErrorMessage.length === 0 && this.rectifyErrorMessage.length === 0;
}
};
在 isValid
方法中,我想检查两个变量是否已设置。这段代码之所以有效,是因为我使用了 this
关键字。但是,如果我省略 this
,则会收到这些变量未定义的错误。
谁能解释一下这是为什么?为什么我需要使用 this
?
最佳答案
rateErrorMessage
不是被调用函数范围内的变量;它是一个对象的属性(因此您必须指定 theObject.rateErrorMessage
)。由于该对象是调用函数的上下文,因此可通过 this
访问。
关于javascript - 为什么在对象内部的 javascript 函数中需要这个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19223428/