为了账号安全,请及时绑定邮箱和手机立即绑定

javascript 如果状态函数不读取布尔值

javascript 如果状态函数不读取布尔值

蛊毒传说 2021-06-11 15:01:24
我的代码使用 resize 函数布尔值随宽度变化,但我的函数包含 if 语句不读取布尔值,我的代码有什么问题?我用= ==,但我不知道如何准确地使用它们var footerMenu = ['#about', '#help']var slideSwitch = falsefunction slideDown(){  footerMenu.forEach(function(list){      $(list+' p').click(function(){        $(list+' ul').slideToggle(300)      })    })}function slideClear(){  for( let i = 0; i < footerMenu.length; i++){     $(footerMenu[i]+' p').click(function(){      var choice = footerMenu[i]      footerMenu.splice(i, 1);      footerMenu.forEach(function(list){       $(list+' ul').slideUp(300)      })      footerMenu.splice(i, 0, choice);    })  }}function slideTotal(){  if(slideSwitch = true){    slideDown()    slideClear()  } }$(document).ready(function() {  checkWidth();});$(window).resize(function(){  checkWidth();});function checkWidth(){  $vWidth = $(window).width();  if($vWidth <576){       console.log("Width: Less than 576");       slideSwitch = true  }else{       console.log("Width: More than 576");      slideSwitch = false  } }slideTotal()我希望更正我的代码,如果我没有任何错误,请建议我如何解决
查看完整描述

2 回答

?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

=是赋值运算符。它会更改左侧内容的值。除非你真的知道你在做什么,否则它通常不是你想要的 if 语句。


==和===是比较运算符。它们之间的区别是==自动将两个参数转换为相同类型,而===不会。但这并不重要,我的建议是始终使用===if 语句中的变量进行比较。


此外,与 true ( x === true)相比完全没有意义,因为 if 语句已经这样做了;这是不必要的。


(旁注:您可以这样做if (x === true === true === true),这与if (x).)


你想要的代码是:


function slideTotal() {

  if (slideSwitch) {

    slideDown();

    slideClear();

  } 

}


查看完整回答
反对 回复 2021-06-18
?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

好吧,开始:


function slideTotal(){

  if(slideSwitch = true){

    slideDown()

    slideClear()

  } 

}

更改:slideSwitch = true 到:slideSwitch == true


查看完整回答
反对 回复 2021-06-18
  • 2 回答
  • 0 关注
  • 152 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信