问答详情
源自:6-11 编程练习

parseInt函数问题

<!DOCTYPE html>    
<html>    
<head>    
<title> new document </title>      
<script type="text/javascript">    
function count(){    
		var txt1   = parseInt( document.getElementById('txt1').value);//获取第一个输入框的值    
		var txt2   = parseInt( document.getElementById('txt2').value);//获取第二个输入框的值    
		var select = document.getElementById('select').value;//获取选择框的值    
		var result = '';    
		switch (select)    
		{    
			case '+':    
				result = txt1 + txt2;    
				break;    
			case '-':    
				result = txt1 - txt2;    
				break;    
			case '*':    
				result = txt1 * txt2;    
				break;    
			case '/':    
				result = txt1 / txt2;    
				break;    
		}    
document.getElementById('fruit').value = result;//设置结果输入框的值    
}    
</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>

文中最上面获取txt文本的值,为什么不加parseInt函数,运行加法的时候,为什么是两个值得相结合,比如1+1的值是11,而不是2

提问者:淡雅的默 2015-12-11 15:41

个回答

  • 木子舟义
    2015-12-11 15:44:36
    已采纳

    因为

            var txt1   = parseInt( document.getElementById('txt1').value);//获取第一个输入框的值    

            var txt2   = parseInt( document.getElementById('txt2').value);//获取第二个输入框的值 

    获取的是文本框里的东西,是字符串。

    不加

    parseInt函数以执行的是字符串拼接。

  • 木子舟义
    2015-12-11 16:02:29

    字符串拼接符号是啥?不是+ ? 还有 - / * ?? 后三个会先转换成数值再执行。