Javascript切换按钮在if条件下失败

Javascript toggle button fails the if condition

本文关键字:if 条件下 失败 按钮 Javascript      更新时间:2023-09-26

伙计们,我做错了什么?在我的pc上这段代码:当我第一次调用函数时,简单的切换显示我false === True。为什么当状态为假时,它还会继续?

  var status = false; 
  function toggleStatus() {
  var message = "status:" + status;
  if (status === false) {
      message += "===FALSE";
      status=true;
  } else {
      message += "===TRUE";
      status=false;
  }
  alert(message);
  }

因为已经有一个窗口了。状态定义(这是一个字符串,用于浏览器状态栏中的文本)。

因为您没有保护全局命名空间免受代码的影响,所以状态变量被定义为窗口对象上的全局变量。大概浏览器会把这些都踩在脚下。

这个应该可以工作https://jsfiddle.net/72rf8g8p/:

(function(){
var status = false; 
  function toggleStatus() {
  var message = "status:" + status;
  if (status === false) {
      message += "===FALSE";
      status=true;
  } else {
      message += "===TRUE";
      status=false;
  }
  alert(message);
  }
toggleStatus();
})();

您还可以简单地将变量名更改为其他内容,例如myStatus:

var myStatus= false; 
  function toggleStatus() {
  var message = "myStatus:" + myStatus;
  if (myStatus=== false) {
      message += "===FALSE";
      myStatus=true;
  } else {
      message += "===TRUE";
      myStatus=false;
  }
  alert(message);
  }