onclick="func()"和 onclick = "return func()"区别

οnclick="func()" 表示只会执行 func , 但是不会传回 func 中之回传值
onclick = "return func()" 则是 执行 func 并传回 func 中之回传值
范例:
<script>
function doAlert() {
//alert("#");
var fail_this_check = true;
if(fail_this_check)
return false;
else
return true;
}
</script>
with return <input type="checkbox" οnclick="return doAlert()" /><br/>
without return <input type="checkbox" οnclick="doAlert()" />

使用 return doAlert() 的 checkbox 会因为 func 回传 false 而中断 click 动作

转载于:https://www.cnblogs.com/uoar/p/7729603.html

以下是代码的优化建议: 1. 在 HTML 标记中,需要将 type-"text" 改为 type="text"。 2. 在 JavaScript 中,可以使用严格相等运算符(===)进行判断,这样会更加严谨。 3. 可以将 num1 和 num2 的获取和判断提取出来,这样可以避免重复代码。 4. 可以将输入数字的提示信息提取出来,放在一个变量中,方便修改和管理。 5. 可以将除数为 0 的判断提取出来,放在一个变量中,方便修改和管理。 6. 可以将四个函数的名称改为更加具有意义的名称,例如 add、sub、mul、div 改为 addNum、subNum、mulNum、divNum。 以下是优化后的代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <link href="css/calculator.css" type="text/css" rel="stylesheet"/> </head> <body> <form> <h2>简易网页计算器</h2> <p>整数1:<input id="num1" type="text"></p> <p>整数2:<input id="num2" type="text"></p> <p> <input type="button" class="btn" value="+" onclick="calc(addNum)"> <input type="button" class="btn" value="-" onclick="calc(subNum)"> <input type="button" class="btn" value="×" onclick="calc(mulNum)"> <input type="button" class="btn" value="÷" onclick="calc(divNum)"> <input type="reset" class="btn" value="CE"> </p> <p> 结  果:<input id="result" type="text" readonly> </p> </form> <script> var num1Ele = document.getElementById('num1'); var num2Ele = document.getElementById('num2'); var resultEle = document.getElementById('result'); var inputNumMsg = '请输入数字'; var divZeroMsg = '除数不能为0'; function calc(func){ var num1 = parseInt(num1Ele.value); var num2 = parseInt(num2Ele.value); if(isNaN(num1) || isNaN(num2)){ alert(inputNumMsg); return false; } resultEle.value = func(num1, num2); } function addNum(num1, num2){//加法 return num1 + num2; } function subNum(num1, num2){//减法 return num1 - num2; } function mulNum(num1, num2){//乘法 return num1 * num2; } function divNum(num1, num2){//除法 if(num2 === 0) { alert(divZeroMsg); return''; } return num1 / num2; } </script> </body> </html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值