a,b有没有被赋值?为什么不显示输出结果?

来源:5-6 编程练习

KevinLL

2016-07-07 16:25

<script type="text/javascript">
//将用户输入的两个值保存到数组
function add(){
    var num=new Array();
    var num[0]=parseInt(prompt("第一个值"));
    var num[1]=parseInt(prompt("第二个值"));
    return num;
}

//给a,b赋值
var a=num[0];
var b=num[1];

//比较a,b值并输出比较结果
function max(a,b){
    if(a>b){return a;}
    else if(a<b){return b;}
    else{return null;}
}

//输出结果
document.write(a+"  和 "+b+" 的较大值是:"+max(a,b)+"<br>");

</script>


写回答 关注

5回答

  • 136542849
    2016-07-07 16:43:41
    已采纳

    <script type="text/javascript">

    //将用户输入的两个值保存到数组

    var num=new Array();

    function add(){

        num[0]=parseInt(prompt("第一个值"));

         num[1]=parseInt(prompt("第二个值"));

        return num;

    }

     add();

    //给a,b赋值

    var a=num[0];

    var b=num[1];

     

    //比较a,b值并输出比较结果

    function max(a,b){

        if(a>b){return a;}

        else if(a<b){return b;}

        else{return null;}

    }

     

    //输出结果

    document.write(a+"  和 "+b+" 的较大值是:"+max(a,b)+"<br>");

     

    </script>


    KevinL...

    非常感谢!

    2016-07-08 11:41:24

    共 1 条回复 >

  • zuoxiaozuo
    2016-07-07 20:02:52

    除了上边同学说的,还有就是根本没有调用获取那两个值的函数,我还想问一下,获取那两个值为什么要放函数里?

  • KevinLL
    2016-07-07 17:04:49

    function add(){

        var a=parseInt(prompt("第一个值"));

        var b=parseInt(prompt("第二个值"));

        function max(){

            if(a>b){return a;}

            else if(a<b){return b;}

            else{return null;}

        }

        alert(a+"  和 "+b+" 的较大值是:"+max());

    }

    直接用嵌套函数简单多了

  • o_n
    2016-07-07 17:02:22

    百度一下,你当然就知道了

  • 136542849
    2016-07-07 16:47:37

    1).add函数里声明了3次num变量,你var 了三次;

    2).你在函数里面声明了num数组怎么可以在外面用呢?直接把num声明成全局变量数组就可以了,

    3).你要先跑这个函数才能去给a和b赋值

    KevinL...

    是我没注意到全局变量。 还有一个问题,在用户未输入a,b值的时候就输出write,当用户触发onclick再次计算,一共就运行了两次。 是不是不符合逻辑?

    2016-07-07 17:33:09

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468191 学习 · 21891 问题

查看课程

相似问题