1.1关于JavaScript出现NaN

1.1关于JavaScript出现NaN_第1张图片“`


<html lang="en">
<head>
    <meta charset="UTF-8">
    <script src="add.js">script>
    <title>JavaScripttitle>
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+"元");
}
    出现放在函数外出错的原因是,放在前面,在它加载时就已经var num,var price 此时document.getElementById()get不到num和price的值,所以输出时为默认的NaN,它加载完成前就去使用了。
    放在函数中,在调用后又加载了一次,所以price和num有了值.
    还有一种方法就是把放在之后.

3.29
1.1关于JavaScript出现NaN_第2张图片


<html>
<meta charset="utf-8">
<head>
    <title>4-1title>
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 所以也就无法判断了;

你可能感兴趣的:(算法)