2 zaxlctjs zaxlctjs 于 2015.07.13 14:05 提问

JS里一个函数内可以有几个if语句?

这么写是没错的,

  <script type="text/javascript">
        function show(a){
            if(document.getElementById('A'+a).style.display=='none'||document.getElementById('pic'+a).src=='bottom.png'){
                document.getElementById('A'+a).style.display='block';
                document.getElementById('pic'+a).src='top.png';
            }else{
                document.getElementById('A'+a).style.display='none';
                document.getElementById('pic'+a).src='bottom.png';
            }
        }
    </script>

那为什么这么写就只有上面那个if语句有效果,下面的没有效果?

    <script type="text/javascript">
        function show(a){
            if(document.getElementById('A'+a).style.display=='none'){
                document.getElementById('A'+a).style.display='block';
            }else{
                document.getElementById('A'+a).style.display='none';
            }
            if(document.getElementById('pic'+a).src=='bottom.png'){
                document.getElementById('pic'+a).src='top.png';
            }else{
                document.getElementById('pic'+a).src='bottom.png';
            }
        }
    </script>

一个函数内只能写一个if语句吗?
贴出下面body里面的代码

 <div class="A">
    <img src="bottom.png" id="pic1" onclick="show(1)"/>
    我的文档
</div>
<div class="nav">
    <ul id="A1" style="display:none;">
        <li>Adobe</li>
        <li>Adobe Scripts</li>
        <li>Downloads</li>
        <li>多益网络</li>
    </ul>
</div>

10个回答

danielinbiti
danielinbiti   Ds   Rxr 2015.07.13 14:13
已采纳

if语句个数没有限制,这两个区别在于,如果初始值是下面这样

 document.getElementById('A'+a).style.display='block'
 document.getElementById('pic'+a).src='bottom.png'
 那么这两个if的效果不一样。第一个里面的if判断是只要有一个符合条件,if判断结果是true,就都改变。
 而第二个函数中的if是分开的,如果按照上面的值,第一个if判断是false,第二个是true.
guwei4037
guwei4037   Ds   Rxr 2015.07.13 14:09

这个没有限制吧,没听说一个函数里面只能有一个if语句。

shaldpsid
shaldpsid   2015.07.13 14:16

一个函数能有多个if

zouroot
zouroot   2015.07.13 14:37

只要按照格式规范书写,if语句可以无限制使用,就看你怎么用了!

u010735684
u010735684   2015.07.13 14:53

if语句可以书写多个

u010735684
u010735684   2015.07.13 14:56

你这个不是语法错误,而是逻辑错误

u010735684
u010735684   2015.07.13 14:55

你这个不是语法错误,而是逻辑错误

fanrongk
fanrongk   2015.07.13 15:32

document.getElementById 好久没见到这种写法了!呼呼

u013829202
u013829202   Rxr 2015.07.14 16:42

if可以有无数个。但不建议套太多的,会影响执行效率的。你这是逻辑问题,再想想吧

dongjinwang
dongjinwang   2015.07.27 23:58

你这个不是语法错误,而是逻辑错误 if可以有无数个。但不建议套太多的,会影响执行效率的。你这是逻辑问题,再想想吧

Csdn user default icon
上传中...
上传图片
插入图片