我只是想弄清楚为什么此代码无法正常工作。

var programming = false;
var happy = function() {
  if(programming === true) {
      happy = false;
  }
  else {
      happy = true
  }
};


或我的辅助代码

var programming = false;
var happy = function() {
  if(programming === true) {
      happy = false;
  }
  if(programming) {
      happy = true;
  }
  };

最佳答案

我想你是说

var programming = false;
var happy = function() {
  if(programming === true) {
      return false;
  }
  else {
      return true;
  }
};


这就是javascript的工作方式。您可以使用关键字return设置函数的返回值,而不是通过将函数重新分配给它的返回值。

您的代码会发生的情况是,第一次调用该函数时,它将被其返回值(即布尔值)代替。第二次尝试调用该函数时,该函数不再存在,因为变量happy现在包含一个布尔值(第一次调用它的结果)。

关于javascript - boolean 不是函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23838895/

10-09 08:26