javascript的計算機eval

tim92087p 2014-09-21 05:25:06
<script language="javascript">
function compute(obj)
{obj.expr.value=eval(obj.expr.value)}
var one='1'
var two='2'
var three='3'
var four='4'
var five='5'
var six='6'
var seven='7'
var eight='8'
var nine='9'
var zero='0'
var plus='+'
var minus='-'
var multiply='*'
var divide='/'
var decimal='.'
function enter(obj,string)
{obj.expr.value+=string}
function clear(obj)
{obj.expr.value=' '}
</script>
<form name="calc">
<table border=1>
<td colspan=4><input type="text" name="expr" size=30 action="compute(this.form)"><tr>
<td><input type="button" value=" 7 " onClick="enter(this.form,seven)">
<td><input type="button" value=" 8 " onClick="enter(this.form,eight)">
<td><input type="button" value=" 9 " onClick="enter(this.form,nine)">
<td><input type="button" value=" / " onClick="enter(this.form,divide)">
<tr><td><input type="button" value=" 4 " onClick="enter(this.form,four)">
<td><input type="button" value=" 5 " onClick="enter(this.form,five)">
<td><input type="button" value=" 6 " onClick="enter(this.form,six)">
<td><input type="button" value=" * " onClick="enter(this.form,multiply)">
<tr><td><input type="button" value=" 1 " onClick="enter(this.form,one)">
<td><input type="button" value=" 2 " onClick="enter(this.form,two)">
<td><input type="button" value=" 3 " onClick="enter(this.form,three)">
<td><input type="button" value=" - " onClick="enter(this.form,minus)">
<tr><td colspan=2><input type="button" value=" 0 " onClick="enter(this.form,zero)">
<td><input type="button" value=" . " onClick="enter(this.form,decimal)">
<td><input type="button" value=" + " onClick="enter(this.form,plus)">
<tr><td colspan=2><input type="button" value=" = " onClick="compute(this.form)">
<td colspan=2><input type="button" value=" AC " size=3 onClick="clear"(this.form)">
</table>
</form>


{obj.expr.value=eval(obj.expr.value)}

這一段我不理解是怎麼讓他算出正確的四則運算

function enter(obj,string)
{obj.expr.value+=string}


然後這段大概是使用為"正"的數字
...全文
148 8 打赏 收藏 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
tim92087p 2014-09-22
  • 打赏
  • 举报
回复
引用 7 楼 xuzuning 的回复:
是的 eval 就是将一个字符串当做程序执行
了解了!!! 感謝你的幫助 謝謝您的細心教導
xuzuning 2014-09-22
  • 打赏
  • 举报
回复
是的 eval 就是将一个字符串当做程序执行
tim92087p 2014-09-21
  • 打赏
  • 举报
回复
引用 5 楼 xuzuning 的回复:
function enter(obj,string) {obj.expr.value+=string} 不是把每次点击按钮时传过来的值保存到了 obj.expr.value 中吗? obj.expr.value=eval(obj.expr.value) 不就和 eval('3+2*5') 一个意思了吗?
那是如何辨別 該加減乘除的哪個運算? 我在想是不是照運算符號去做運算 var plus='+' var minus='-' var multiply='*' var divide='/' 這段?
xuzuning 2014-09-21
  • 打赏
  • 举报
回复
function enter(obj,string) {obj.expr.value+=string} 不是把每次点击按钮时传过来的值保存到了 obj.expr.value 中吗? obj.expr.value=eval(obj.expr.value) 不就和 eval('3+2*5') 一个意思了吗?
tim92087p 2014-09-21
  • 打赏
  • 举报
回复
引用 3 楼 xuzuning 的回复:
你对 alert(eval('3+2*5')); 是否能理解?
能理解 把('3+2*5') 求出來
xuzuning 2014-09-21
  • 打赏
  • 举报
回复
你对 alert(eval('3+2*5')); 是否能理解?
tim92087p 2014-09-21
  • 打赏
  • 举报
回复
引用 1 楼 zzgzzg00 的回复:
你就把eval认为是js解析器好了 还有 你是来自台湾的吗?
我有去查詢eval的語法 但我還是不了解我這些程式碼有提供他運算的算式 他是如何用我鍵入的數字來運算 我是來自台灣!!! 你好
似梦飞花 2014-09-21
  • 打赏
  • 举报
回复
你就把eval认为是js解析器好了 还有 你是来自台湾的吗?

87,984

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧