请老师检查
来源:4-11 编程练习
慕斯卡0165078
2020-06-10 17:46:05
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<title>函数定义的位置</title>
</head>
<body>
<script type="text/javascript">
debugger
var add = function (num1, num2) {
function isNumber(num1, num2) {
if (!isNaN(num1) && !isNaN(num2)) {
return num1+"+"+num2+"="+(num1+num2);
} else {
return "请传入数字类型的参数";
}
}
return isNumber(num1, num2);
};
document.write(add(4,5));
</script>
</body>
</html>
1回答
同学你好,当传入的是包含纯数字的字符串时,输出的结果不对:


这是因为字符串“22”在进行isNaN()方法检测时,会自动转换为数值22,所以会检测它是一个数字。字符串“22”与后面的5进行加运算时,默认进行字符串拼接,所以输出的是225。
这里字符串是纯数字的时候,进行加运算是可以的,题目中描述中是允许的,只要解决运行的结果问题即可。建议如下加一个整数转换,这样字符串转换为数字,结果就正确了:

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~