如果在Javascript中有Else语句

Hol*_*ger 0 html javascript css jquery

我在我的网站上创建了一个开关.它像灯开关一样工作.当人们点击它时,背景颜色和某些文本段落的颜色会切换为不同的颜色.我编写了下面的代码并成功完成了任务:

  $(".clickme").click(function () {      
     $('html').css('background-color', 'black');
     $('#top_nav a').css('color', '#ff7b00');
     $('.back_face').css('background-color', 'black');
     return false;
  });
Run Code Online (Sandbox Code Playgroud)

但现在我想重新开灯.我创建了一个名为lighton的var,并将其设置为0.我尝试使用if else语句来完成任务,但它不起作用.下面是我编写的代码并且失败了:

<a href="" class="clickme">Click me</a>

<script>    
  $(".clickme").click(function () {    
  var lightoff = 0;   
  if (lightoff=0){    
      $('html').css('background-color', 'black');
      $('#top_nav a').css('color', '#ff7b00');
      $('.back_face').css('background-color', 'black');
      lightoff = 1;
      return false;    
 }else{

      $('html').css('background-color', 'white');
      $('#top_nav a').css('color', 'black');
      $('.back_face').css('background-color', 'white');
      lightoff = 0;
      return false;
   }
});

</script>
Run Code Online (Sandbox Code Playgroud)

我刚刚开始学习JavaScript,并且已经检查了JavaScript Conditional Statements语法.所以我希望有人知道我的代码有什么问题.非常感谢.

asi*_*frc 5

你需要使用 if (lightoff==0){.

=是一个赋值运算符,==而是一个比较运算符.

在条件中使用赋值运算符时,将评估指定的值,因此(lightoff=0)将始终评估0随后的值false.在条件中使用赋值运算符的最常见情况是在分配函数的返回值时,例如( lightoff = checkIfLightIsOff() )