栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

javascript:在切换情况下使用条件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

javascript:在切换情况下使用条件

这有效:

switch (true) {    case liCount == 0:        setLayoutState('start');        var api = $('#UploadList').data('jsp');        api.reinitialise();        break;    case liCount<=5 && liCount>0:        setLayoutState('upload1Row');        var api = $('#UploadList').data('jsp');        api.reinitialise();        break;    case liCount<=10 && liCount>5:        setLayoutState('upload2Rows');        var api = $('#UploadList').data('jsp');        api.reinitialise();        break;    case liCount>10:        var api = $('#UploadList').data('jsp');        api.reinitialise();        break;       }

此答案的先前版本认为括号是罪魁祸首。实际上,括号在这里是无关紧要的-唯一必要的是

switch(true){...}
您的case表达式必须为布尔值。

之所以起作用,是因为我们将给开关的值用作比较的依据。因此,同样对布尔值求值的case表达式将确定运行哪个case。也可以解决这个问题,传递

switch(false){..}
所需的表达式并将其评估为false而不是true
..但个人更喜欢处理评估为真实的条件。但是,它也确实起作用,因此值得牢记以了解它在做什么。

例如:如果liCount为3,则第一个比较为

true === (liCount == 0)
,表示第一种情况为假。然后,开关继续进行下一种情况
true=== (liCount<=5 &&liCount>0)
。该表达式的计算结果为true,表示此情况已运行,并在处终止
break
。我在此处添加了括号以使其更清楚,但它们是可选的,具体取决于表达式的复杂性。

这很简单,并且以一种整洁的方式(如果它适合您要执行的操作)来处理一系列条件,其中一系列

ìf() ... else if() ... else if ()...
可能会引入大量视觉噪声或脆弱性。

请谨慎使用,因为尽管它是有效的代码,但它是非标准模式。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/614812.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号