<input type="text" id="text2" value="9" />
<input type="text" id="text3" value="5" />
<input type="text" id="text4" value="6" />
<input type="text" id="text5" value="2" />
<input type="button" value="计算" onclick="func()" />
<script type="text/javascript">
function func() {
var str = "(A+B+C)*D/E"
var A = parseFloat(document.getElementById("text1").value)
var B = parseFloat(document.getElementById("text2").value)
var C = parseFloat(document.getElementById("text3").value)
var D = parseFloat(document.getElementById("text4").value)
var E = parseFloat(document.getElementById("text5").value)
var num = eval(str)
将var a=1
var b=2
var c=a+b
改为:
var a=1
var b=2
var c=a-1+b+1
或者下面的那种
<script>
function s11(i){
obj=eval("box"+i)
obj.style.display="block"
obj.style.left=event.x
obj.style.top=event.y+20
}
function s22(i){
obj=eval("box"+i)
obj.style.display=""
}
</script>
<a class="a1" href="#"><img src="jj/img/bz.gif" onmouseover="s11(1)" onmouseout="s22(1)" /></a>
因为js中变量是可以任意赋值的(不用担心类型),但是int型一旦被改为字符串后,在调用int的加法运算时,就会变成了字符串的连接运算。如下所示:
<script language="javascript"><!--
var i=1
alert(i+1)//结果为2
var j="1"
alert(j+1)//结果为11
//-->
</script>
此时如果想要将j转换为int并且执行加法,需要将j强制转换为int,具体方法如下:
alert(parseInt(j)+1)此时的结果就会是2了。