JavaScript视频结尾有一个课后题,感觉出的很妙,用JavaScript做一版没有Switch或者if else的计算器,自己写了一版略粗糙的答案,希望能跟大家分享。
wm代码:
<span style="font-size:18px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script language="javascript">
function sum(){
//获取第一个数
var first=document.getElementById("first").value;
//获取第二个数
var second=document.getElementById("second").value;
var e;
//获取运算符号e
var se=document.getElementById("sel");//根据id获得se的文本
//根据元素标签名称,获取标签内容
var option=se.getElementsByTagName("option");
for(var i=0;i<option.length;++i)
{
//如果标签被选中,就把文本付给e
if(option[i].selected)
{
e=option[i].text;
}
}
//计算
var summery=first+e+second;
var changeSummery=eval(summery);//eval函数,将字符串作为表达式来执行
//给最后一个文本框赋值
document.getElementById("total").value=changeSummery;
}
</script>
</head>
<body>
~~~~~~~小美牌无Switch,无if else 计算器~~~~~~~
<p>
<input type="text" name="first" id="first"/>
<p>
<select name="sel" id="sel" >
<option value="1">+</option>
<option value="2">-</option>
<option value="3">*</option>
<option value="4">/</option>
</select>
<p>
<input type="text" name="second" id="second" />
<p>
<input type="button" name="equals" value="=" οnclick="sum()" />
<p>
<input type="text" name="total" id="total" />
</body>
</html>
</span>
运行结果
感受
之前不做课后练习,现在慢慢的喜欢上实践了~so interesting ,so great, so wonderful!