如果第一项的值为true时, 则执行后面一项的运算,返回的是第二项执行运算后的值
如果第一项的值为false时, 则后面一项则不执行,返回的是第一项执行运算后的值
以下简单说下用 JavaScript 编写简单计算器的思路。
一、运算核心
对于 JavaScript 来说,编写一个简单的计算器的核心,是借用 js 提供的 eval 函数,eval 函数可以对给定的字符串表达式执行运算,并返回结果。
举例来说:
s = eval("50+20-30*40/20")其结果是 10。可以看出,先乘除后加减等运算规则都能正确处理。
二、输入(组合)运算式
核心运算解决后,下一步就是解决如何输入(组合)运算式。
其实也并不复杂,计算器上的符号可以分为4类:
1、0-9 数值
2、% .
3、+ - * /
4、= 退格
除了第 2 类和第 4 类,需要专门处理外,基本上都可以当做字符串处理。即,设置一个全局变量,用于保存用户的输入,当点击时,将值添加进变量字符串的末尾。
当用户点击 “=” 时,调用 eval 函数,计算表达式,并输出结果。
当用户点击“退格”时,删除表达式的最后一个字符。
三、进行界面设计
对于 JS 来说,大多还是要借用 HTML 元素,如 Button 等,样式用 CSS 进行控制。
以下提供相关代码供参考:
<script>var num = 0 // 定义第一个输入的数据
function jsq(num) {
//获取当前输入
if(num=="%"){
document.getElementById('screenName').value=Math.round(document.getElementById('screenName').value)/100
}else{
document.getElementById('screenName').value += document.getElementById(num).value
}
}
function eva() {
//计算输入结果
document.getElementById("screenName").value = eval(document.getElementById("screenName").value)
}
function clearNum() {
//清0
document.getElementById("screenName").value = null
document.getElementById("screenName").focus()
}
function tuiGe() {
//退格
var arr = document.getElementById("screenName")
arr.value = arr.value.substring(0, arr.value.length - 1)
}
</script>
js相当于网页的逻辑。JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。JavaScript是一种网页的脚本编程语言,同时也是一种基于对象而又可以被看作是页面对象的编程语言。