从Settimeout调用全局函数,该功能在JavaScript中的IF条件



我写了一个名为'行'的普通函数。我还有一个函数名称'foo',在该功能中,如果条件,在此函数中,我已经写了SetteMeut。

我尝试在函数中制作SettiMeut,然后我在内部拨打了IF条件。然后,我也会遇到相同的错误。该行不确定。

rows() {
  alert("Hello Row");
}
foo() {
    if (a == a) {
      setTimeout(function() {
          this.row();
        }
      }
    }

所以我的问题是我如何在Settimeout中调用我的"行"函数?

必须用function关键字声明函数。

您的setTimeout语法不正确。

您不需要this

当应为 rows

时,您正在调用名为 row的函数

var a;
function rows() {
  console.log("Hello Row");
}
function foo() {
  if (a == a) {
    setTimeout(function() {
      rows();
    }, 1000);
  }
}
foo();

您必须创建词汇范围

foo() {
var that = this;
    if (a == a) {
      setTimeout(function() {
          that.row();
        }
      }
    }

最新更新