比如,在比较23和8时,按数字做比较23是比8大,可是按默认的字符串比较时,第一位的2和第一位的8比较是8大,就会出现8比32大的现象。
解决方法:
转换类型再比较
var max = 0var 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)
<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内部定义的函数名相同。