为了账号安全,请及时绑定邮箱和手机立即绑定

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

<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 回答

<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>


0 回复 有任何疑惑可以回复我~
#1

KevinLL 提问者

非常感谢!
2016-07-08 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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());

}

直接用嵌套函数简单多了

1 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

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

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

1 回复 有任何疑惑可以回复我~
#1

KevinLL 提问者

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

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468189    人
  • 解答问题       21891    个

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

进入课程

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信