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
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
JS IF 作用域
随笔记录一下JS 中使用域自动提升时的一些注意点:/** * Created by HuangSL on 2017/09/12. */ function testScope() { var funInner = "Inner"; funcOut = "outer"; //没有 var 声明,会被自动提升到 全局作用域 if (true) { var ifInn
if中return的作用
return 的返回值问题,函数中return一旦有返回值,就不在执行下面的语句。 表单验证,如果返回true,说明验证通过,可以提交表单,反之表示验证失败,表单不会提交。 下面代码中,若不写return,则不弹alert提示框,直接跳转。 $(".btn_save_info").click(function(){             var type = $("input[n
js在if else语句中var的变量在条件语句外可以使用吗?
答案:可以。 实例如下: Insert title here document.write("这是一个标题"); function myFunction() { document.getElementById("demo").innerHTML="我的第一个 JavaScript 函数"; } function test() { var
在javascript中,哪些值能作为if的条件呢
在javascript中,哪些值能作为if的条件呢 1、布尔变量true/false 2、数字非0,非NaN        (0 或NaN) 见下面的例子,莫以为负数就以为if语句为假了。 var i = -1; if(i){  alert('here'); }else{  alert('test is ok!'); } 3、对象非null/(null或unde
JS选择结构(if嵌套、switch语句)
JS选择结构 今天学习了JS选择结构的另两个知识点,if嵌套和switch语句。下面就这两个知识点,来一起了解下。 今天主要以案例为主,主要写了几个案例可供参考。 1、if语句嵌套 案例1 四则运算,利用if嵌套来完成 var ch = prompt("请输入运算符:"); var a = Number(prompt("请输入第一个数:")); var b = Number(p
javascript:if中可以使用那些作为判断条件
在所有编程语言中if是最长用的判断之一,但在js中到底哪些东西可以在if中式作为判断表达式呢? 例如如何几行,只是少了一个括号,真假就完全不同,到底表示什么含义呢 var obj={}; obj.Funtext=function(){}; if(obj.Funtext) { alert("true obj.Funtext;"); } else
JS:函数里的函数
题目描述 实现函数 functionFunction,调用之后满足如下条件: 1、返回值为一个函数 f 2、调用返回的函数 f,返回值为按照调用顺序的参数拼接,拼接字符为英文逗号加一个空格,即 ‘, ’ 3、所有函数的参数数量为 1,且均为 String 类型 输入例子:functionFunction(‘Hello’)(‘world’)输出例子:Hello, world思路 刚开始看不
关于js中函数的闭包 深入了解
闭包就是能够读取其他函数内部变量的函数。 即函数定义和函数表达式位于另一个函数的函数体内。而且,这些内部函数可以访问它们所在的外部函数中声明的所有局部变量、参数和声明的其他内部函数。当其中一个这样的内部函数在包含它们的外部函数之外被调用时,就会形成闭包。也就是说,内部函数会在外部函数返回后被执行。而当这个内部函数执行时,它仍然必需访问其外部函数的局部变量、参数以及其他内部函数。这些局部变量、参数
if语句块中有return的情况
1,如果一个类,有如下JAVA代码: public class test { public static void main(String args[]){ System.out.println("执行IF前"); int a=5; if(a==5){ System.out.println("a==5"); return; }else if(a!=5){ Sy
js中function(){}中小括号中的内容到底是什么
var btn1=document.getElementById("btn1"); btn1.onclick=function(a){ alert(a); }      头一次注意到原生js中后面括号中的内容容易搞混,其实内容和可以传一个变量,而同时也是一个事件对象,所以上面的一个测试代码会在点击事件触发后弹出[object MouseEvent]这个事件对象的名称。