<!DOCTYPE html>
<html>
<head>
<title> 事件</title>
<script type="text/javascript">
function count(){
//获取第一个输入框的值
//获取第二个输入框的值
//获取选择框的值
//获取通过下拉框来选择的值来改变加减乘除的运算法则
//设置结果输入框的值
var one=document.getElementById("txt1").value;
var two=document.getElementById("txt2").value;
var objselect=document.getElementById("select").value;
switch(objselect){
case "+" : return document.getElementById("fruit").value=one+two;
case "-" : return document.getElementById("fruit").value=one-two;
case "*" : return document.getElementById("fruit").value=one*two;
case "/" : return document.getElementById("fruit").value=one/two;
}
}
</script>
</head>
<body>
<input type='text' id='txt1' />
<select id='select'>
<option value='+'>+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input type='text' id='txt2' />
<input type='button' value=' = ' onclick="count()"/> <!--通过 = 按钮来调用创建的函数,得到结果-->
<input type='text' id='fruit' />
</body>
</html>
请问各位大神,为什么我这样用加法那里出来的是两个字符串连起来?而用parseInt()就可以正常?
因为你获取的是字符串,不转化相加当然是字符串拼接...
parseInt的作用就是把字符串转化为整数(适用于数字字符串),parseFloat转为浮点数
你获得的值的数据类型如果其中一个为字符串,那么计算结果会转化为字符串。
parseInt是全局的函数,用来将字符串类型转化为int类型。所以遇到这种情况应该考虑你的值类型是否是你所希望的。