如果 JavaScript 中的 Else 语句

If Else statement in Javascript

本文关键字:语句 Else 中的 JavaScript 如果      更新时间:2023-09-26

>我在我的网站上创建了一个开关。它的工作原理类似于电灯开关。当人们点击它时,背景颜色和某些文本段落的颜色将切换到不同的颜色。我编写了下面的代码并成功完成了任务:

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

但现在我想重新打开灯。我创建了一个名为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>

我最近刚开始学习JavaScript,我已经检查了JavaScript条件语句语法。所以我希望有人知道我的代码出了什么问题。非常感谢。

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

=是赋值运算符,而==是比较运算符。

在条件中使用赋值运算符时,将计算分配的值,因此(lightoff=0)将始终计算为 0,然后将其转换为false。在条件中使用赋值运算符的最常见情况是赋值时,例如 ( lightoff = checkIfLightIsOff() )

由于您希望在对回调方法的多个调用中使用 lightoff 的值,因此应该在处理程序方法的作用域之外定义它,以便对该方法的多个调用将共享同一个实例lightoff

另外,正如@zzlalani指出的那样,=运算符代表分配,您需要的是比较器运算符

,它是==

它应该是

var lightoff = 0;
$(".clickme").click(function () {
    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;
    }
});

我不是 Javascript 专家,但看起来你使用了"="而不是"==",这会将变量设置为 0 而不是比较它。

而不是=你应该使用=====

  • =是赋值运算符

  • ==等于 ie,
    x==8 假
    x==5 真

  • ===完全等于(相等值和相等类型(,即,
    x==="5" 假
    x===5 真

其他一些情况:

'' == '0'           // false
0 == ''             // true
0 == '0'            // true
false == 'false'    // false
false == '0'        // true
false == undefined  // false
false == null       // false
null == undefined   // true

另一种方法是切换事件

$(".clickme").toggle(function () {    
    $('html').css('background-color', 'black');
    $('#top_nav a').css('color', '#ff7b00');
    $('.back_face').css('background-color', 'black');
    return false;    
}, function() {
    $('html').css('background-color', 'white');
    $('#top_nav a').css('color', 'black');
    $('.back_face').css('background-color', 'white');
    return false;
});