我有一个变量,可以是布尔值false,也可以是整数(包括0).我想把它放在一个switch语句中:
switch(my_var){
case 0:
// Do something
break;
case 1:
// Do something else
break;
case false:
// Some other code
}
Run Code Online (Sandbox Code Playgroud)
在谷歌浏览器的测试中,它似乎工作得很好,但我使用它有点紧张,因为我害怕在某些浏览器中,如果my_var是false,它可能会执行第一种情况0 == false.
我只是想知道JavaScript中是否有任何官方说切换语句将使用严格的比较0 !== false,但我自己找不到任何东西,而且我不确定这是否适用于不同的JavaScript引擎.有人知道switch语句完成的比较是否保证是严格的吗?
javascript comparison types type-conversion switch-statement
晚间,
对此抱歉可能是一个非常愚蠢的问题,我还在学习!
我正在尝试将引导旋转木马中的活动幻灯片作为目标来执行操作.我想让它为三个幻灯片中的每一个触发一些样式更改,即更改按钮颜色等.
之前我曾尝试用他们的数字(#1, #2, #3)来定位div ,但也一直卡在那里,它看起来像这样;
var shead = document.getElementById("sub-head");
if ($('#1').is(':visible') && $('#2').is(':hidden') && $('#3').is(':hidden')) {
shead.style.color = "blue";
}
Run Code Online (Sandbox Code Playgroud)
我相应地使用:visible&:hidden为每个div 重复了这个幻灯片,尽管我似乎只是在最后一次呈现样式颜色变化时陷入困境.
我做了一些搜索,我看到人们使用.carousel(1),但我似乎一直在追求死胡同,任何人都可以帮我一把,不知道为什么它没有捕捉,任何指导都将不胜感激.
HTML
<header id="Carousel" class="carousel slide carousel-fade">
<ol class="carousel-indicators">
<li data-target="Carousel" data-slide-to="0" class="active"></li>
<li data-target="Carousel" data-slide-to="1"></li>
<li data-target="Carousel" data-slide-to="2"></li>
</ol>
<div class="carousel-inner">
<div class="item active" id="1"></div>
<div class="item" id="2"></div>
<div class="item" id="3"></div>
</div>
</header>
Run Code Online (Sandbox Code Playgroud)
JAVASCRIPT
if ($('#Carousel').carousel(1).hasClass('active')) {
alert("this is an alert");
}
Run Code Online (Sandbox Code Playgroud)