了解 Javascript 变量范围

Understanding Javascript variable scope

本文关键字:范围 变量 Javascript 了解      更新时间:2024-03-27
foo: function () {
  var bValue = false;
  boo(2, function () {
    bValue = true;
    if (bValue)
      alert("bvalue is true 1");
  });
  if (bValue)
    alert("bvalue is true 2");
}
boo: function (val, fn) {
  fn();
}

我正在我的代码中做类似的事情,但无法获得第二个警报。您是否在上面的代码中看到任何问题。

你在函数语句上滥用了标签。而不是

boo: function (val, fn) {
  fn();
}

你应该写

function boo(val, fn) {
  fn();
}

同样的问题也发生在foo.这将导致SyntaxError并停止执行整个脚本。幸运的是,如果您查看控制台,很容易抓住。