不务正业得染指JavaScript


最近又开始犯以前的低级错误了。
上一篇里就说过,错误得使用了不同意义的定义值造成内存泄漏的问题。
这次又是在检查存入缓冲区的数据的长度时,错误得把缓冲区个数的定义值当作单个缓冲区最大容量的定义值。
由于缓冲区个数的数值明显少于缓冲区的最大容量值,使得检查数据长度时误报长度超出,并向上级处理函数返回数据无效的信息,最后导致上级处理完全停止。

究其原因,定义值的名字太类似是一个原因,另一个原因应该是使用了简单的复制粘贴,且没有校验输入错误。
回想起来,出问题的模块当时在软件提交前一天才发现需要添加。于是匆忙设计,匆忙编码,匆忙测试,导致出现这样的问题。

好在这次是我自己在结合测试阶段发现问题,能够及早处理到这个纰漏。

另外,不务正业的我最近在自学JavaScript,做了一个从商品价格逆向计算消费税的小程序。

商品値段:

最后放出程序全文,初学制作,多多指点。

<form name="tax">
商品値段:<input type="text" name="price" value=""><br>
<input type="button" value="消費税計算" onclick="calc_tax()"><br>
</form>

<div id="result"></div>
<script type="text/javascript">
<!--
function calc_tax() {
	try {
		var price = eval(document.tax.price.value);
		if (isNaN(price)) {
			/*** 当什么都没有输入时,避免显示难看的NaN ***/
			alert("半角数字を入力してください!");
		} else {
			/*** 显示计算结果 ***/
			document.getElementById("result").innerHTML = "内消費税は:<strong>" + Math.round(price/21) + "</strong>円です。";
		}
	} catch(e) {
		/*** 捕获eval过程中出现的非数字转换 ***/
		alert("半角数字を入力してください!");
	}
}
// -->
</script>
Tagged on:

One thought on “不务正业得染指JavaScript

发表评论

电子邮件地址不会被公开。