js判断数字大小

JavaScript011

js判断数字大小,第1张

JS里面的var 是种弱类型,在比较两个数字大小的时候默认比较的是两个字符串,

比如,在比较23和8时,按数字做比较23是比8大,可是按默认的字符串比较时,第一位的2和第一位的8比较是8大,就会出现8比32大的现象。

解决方法:

转换类型再比较

<script type="text/javascript">

function maxNum()

{

//获取两个文本框的值

var x = document.getElementById("num1").value

var y = document.getElementById("num2").value

//强制转换为数值型

x = parseFloat(x)

y = parseFloat(y)

if(x<y)

{

alert("最大数是:"+y)

}

else

{

alert("最大数是:"+x)

}

}

</script>

第一个数是:<input type="text" id="num1"/><br/>

第二个数是:<input type="text" id="num2"/><br/>

<input type="button" onclick="maxNum()" value="计算"/>

</body>

分析:

这一个程序非常简单,但是包含的信息量不少。

document.getElementById()类似于CSS中的id选择器,而document.getElementById("num1").value表示选取id为num1的元素并获取它的值。这个方法经常用到,大家要记一下。我们在后续课程会给大家详细讲解。

这里用到了函数调用的其中一个方式“在事件中调用函数”。<input type="button" onclick="maxNum()"/>表示在按钮点击的时候执行函数maxNum()。

此外,还有一点要注意的是:有些同学呀,在定义这个函数的时候定义的函数名是max,然后发现出错了!oh~,其实那是你忽略了很基础的一点,那就是自己定义的函数名是不能与JavaScript内部定义的函数名相同。

var max = 0

var ind = 0

var arr = [0, 9, 5, 7, 20, 19, 12, 200, 5000, 1999, 50000, 999999, 25412, 2554]

for (var i = 0 i < arr.length i++) {

    if (max < arr[i]) {

        max = arr[i]

        ind = i

    }

}

console.info("最大值是" + max + "下标为" + ind)

var array = arr.splice(ind, 1)

console.log("数组为" + arr)

console.warn(array)