1.1关于JavaScript出现NaN

结果成了这样“`

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script src="add.js"></script>
    <title>JavaScript</title>
</head>
<body>

<b>请输入销售商品的单价和数量:</b><br>
单价:<input type="text" id="price"><br>
数量:<input type="text" id="num">
<input type="button" value="计算" onclick="compute()">
</body>
</html>

add.js


function compute(){
    var num = document.getElementById("num").value;
    var price = document.getElementById("price").value;
    alert("商品销售额为:"+price*num+"元");
}

为什么会出现NaN?
后来发现把定义price和num放在函数外就可以正常运行了.即

    var num = document.getElementById("num").value;
    var price = document.getElementById("price").value;
function compute(){
    alert("商品销售额为:"+price*num+"元");
}
    出现放在函数外出错的原因是,<script src="add.js"></script>放在前面,在它加载时就已经var num,var price 此时document.getElementById()get不到num和price的值,所以输出时为默认的NaN,它加载完成前就去使用了。
    放在函数中,在调用后又加载了一次,所以price和num有了值.
    还有一种方法就是把<script src="add.js"></script>放在</body>之后.

3.29
这里写图片描述

<!DOCTYPE html>
<html>
<meta charset="utf-8">
<head>
    <title>4-1</title>
</head>
<body>

<input id="year" type="text" name="submit" >
<button onclick="check()">检查</button>

</body>
<script type="text/javascript">
    //var year=document.getElementById("year").value;原来的地方
    function check()
    {



        ----------
        var year=document.getElementById("year").value;

        ----------


        if (year%400==0) {
            alert("是闰年!");
        }
        else
        {
            alert("不是闰年!");
        }
    }
</script>
</html>

javascript是解释性语言,当它调用到check时,尚未var year 所以也就无法判断了;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值