javascript - 为什么在对象内部的 javascript 函数中需要这个?

标签 javascript

我有这段 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/

相关文章:

php - JS AJAX发送多个数据数组

javascript - meteor :多云

php - HTML5 在 Canvas 中加载较小的图像并保存实际尺寸的图像

javascript - JavaScript 中的对象方法与函数和封装

javascript - HighCharts 热图 : Plotting error with >= 1024 samples

javascript - 如何在 useEffect Hook 内的 setInterval 回调中调用两个函数

javascript - 如何获取 JavaScript 中只有零的 float 的小数位?

javascript - 如何使用 sinon 在被测函数内 stub 类方法?

javascript - 从对象列表中创建 javascript 树

javascript - 我想将对象向右移动一定距离,达到该距离后,它应该使用 javascript 再次移动到其原点