第一个javascript示例

   这是一个简易计算器的脚本,从简易这个词就可以看出这个代码很简陋,很简陋!

   代码如下

<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="UTF-8"/>
		<title>first javascript demo</title>
	</head>
	<body>
		<p onclick="hello()">
			hello world
		</p>
		<div id="calculator">
			<form action="" onsubmit="return operatorResult()">
				<input type="text" id="firstNumber" name="first" value="input a number"/>
				<select name="operator" id="operator">
					<option value="plus">+</option>
					<option value="minus">-</option>
					<option value="multiply">*</option>
					<option value="divide">/</option>
					<option value="complementation">%</option>
				</select>
				<input type="text" id="secondNumber" name="second" value="input a number"/>
				<input type="submit" value="result" />
			</form>
		</div>
	</body>
	<script>
		function hello() {
			alert("hello world");
		}

		function operatorResult() {
			var x = document.getElementById("firstNumber").value;
			var y = document.getElementById("secondNumber").value;
			var operator = document.getElementById("operator").value;
			if(isNum(x) && isNum(y)) {
				var x = Number(x);
				var y = Number(y);
				switch(operator) {
					case "plus":
						var z = x + y;
						break;
					case "minus":
						var z = x - y;
						break;
					case "multiply":
						var z = x * y;
						break;
					case "divide":
						var z = x / y;
						break;
					case "complementation":
						var z = x % y;
						break;
					default:
						document.write("input error!");
				}
				alert(z);
			} else {
				alert("please input a number!");
			}
		}

		function isNum(s) {
			if(s != null && s != "") {
				return !isNaN(s);
			}
			return false;
		}
	</script>
</html>

用到的函数有

isNaN() 函数用于检查其参数是否是非数字值。
如果 x 是特殊的非数字值 NaN(或者能被转换为这样的值),返回的值就是 true。如果 x 是其他值,则返回 false。(试了好多次才发现是非数字时返回true)
说明

isNaN() 函数可用于判断其参数是否是 NaN,该值表示一个非法的数字(比如被 0 除后得到的结果)。

如果把 NaN 与任何值(包括其自身)相比得到的结果均是 false,所以要判断某个值是否是 NaN,不能使用 == 或 === 运算符。正因为如此,isNaN() 函数是必需的。

Number() 把对象的值转换为数字。
返回值

如果参数是 Date 对象,Number() 返回从 1970 年 1 月 1 日至今的毫秒数。

如果对象的值无法转换为数字,那么 Number() 函数返回 NaN。


作者:GoodSpeed Cheng
出处:http://www.cnblogs.com/cacique/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。


原文地址:https://www.cnblogs.com/cacique/p/2320919.html