能帮我看下哪出错了吗

来源:6-11 编程练习

Lshah

2016-03-22 21:03

能帮我看下哪出错了吗

写回答 关注

2回答

  • 蝎子126
    2016-03-23 18:07:39
    已采纳

    Q1:放在外面为什么结果是 undifined呢?

    因为html的执行顺序是从上至下的。你的  <script></script>是在上面的,

    所以你在执行var a=parseInt(document.getElementById("txt1").value)时;页面中的input还没有加载出来。获得不到这个元素,所以显示为undifined而不是NaN;

    你可以自己测试一下:

    (1)把<script>代码</script>放在<head>里。显示为undifined。

    (2)把<script>代码</script>放在页面最下面<body>里。显示为NAN;所以一般推荐将JS代码放在下面。

    Q2:但是为什么要放在函数里面呢?

        如果放在外边,页面加载完成后就已经执行了

       var a=parseInt(document.getElementById("txt1").value);
       var b=parseInt(document.getElementById("txt2").value);
       var c=document.getElementById("select").value;
       var d="";

       而此刻你的输入框里还是空的。所以a =NaN,b=NaN;

       当你输入数字时,  完点击“=”,调用count()方法时。a,b,的仍为NaN;

       放在里面,点击“=”时,才获取a,b输入框的值。所以就不为NaN ,就正确了啊。

    这样说明白了吗?


    蝎子126 回复Lshah

    哈哈~不客气~

    2016-03-24 09:42:10

    共 4 条回复 >

  • Lshah
    2016-03-22 21:06:51

    我知道哪出错了,

    var a=parseInt(document.getElementById("txt1").value);
       var b=parseInt(document.getElementById("txt2").value);
       var c=document.getElementById("select").value;
       var d="";

    应该放在函数里面,但是为什么要放在函数里面呢?放在外面为什么结果是 undifined呢?

    Lshah 回复请叫我橙子蛋

    哦哦,谢谢你~

    2016-03-23 14:14:52

    共 6 条回复 >

JavaScript进阶篇

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

468194 学习 · 21891 问题

查看课程

相似问题