javascript - 替代文件方法
问题描述
总结问题。
- 该程序的目标是确定用户整数是偶数还是奇数。
- 我相信我的代码可以更简洁。
- 有一个逻辑错误指出 HTML 输入元素未定义。
描述你尝试过的东西。
- 我将 更改
document.getElementById()
为.querySelector()
and.getElementByClassName
。
代码 -
https://jsfiddle.net/pherami1/jfh3xq69/2/
const input = document.getElementById('textInput');<br>
const button = document.getElementById('submitButton');<br>
button.addEventListener('click', evenOrOdd);
function evenOrOdd () {
let result;
let even;
let odd;
if (input % 2) {
result = even;
} else {
result = odd;
}
document.getElementById('para').textContent = input + " is an " + result + " number.";
}
解决方案
有很多事情需要改变——
第一件事 - 如果你想获得输入的价值,使用.value
.
第二 - 声明函数input
内部evenOrOdd
。如果不这样做,那么每次单击按钮时输入的值都不会改变。
第三 - 的输出.value
是一个字符串,但是要查找一个数字是偶数还是奇数,我们需要使用 将字符串转换为数字Number()
。
第四 - 当您检查一个数字是偶数还是奇数时,您将result
变量的值更改为even
or odd
。even
并且odd
是变量,而不是字符串。因此,无论 的值result
是什么,它总是会是undefined
sinceeven
并且odd
是未定义的。将 的值更改result
为字符串"even"
或"odd"
。
第五 - 当您检查偶数时,您会这样做(input % 2)
。如果数字是偶数,则(input % 2)
计算结果为0
。0 表示错误。所以,即使你的号码是偶数,你也会得到“奇数”。将 if 条件更改为(input % 2 == 0)
所有这些更改都应用在以下代码段中。检查片段的代码 -
let button = document.getElementById('submitButton');
button.addEventListener('click', evenOrOdd);
function evenOrOdd () {
//Declare the input inside the function and use .value to get the value and Number() to convert the string to number.
let input = Number(document.getElementById('textInput').value);
let result;
//Change the condition
if (input % 2 == 0) {
result = "even";//Change to strings, not variables
} else {
result = "odd";
}
document.getElementById('para').textContent = input + " is an " + result + "number.";
}
<input type="number" id="textInput" />
<button id="submitButton">Submit</button>
<p id="para"></p>
推荐阅读
- javascript - d3fc:将不同的数据传递给渲染方法
- java - Java Spring 不支持的 StringMatcher 正则表达式
- javascript - 无法显示旋转三角金字塔
- database - 在vertica中,有没有办法在没有管理员权限的情况下访问admintools?
- ios - AppDelegate 方法仅在应用程序已打开时从通知中调用
- powershell - Update-PnPApp 将 SharePoint 应用程序部署到 SharePoint 目录
- opencl - OpenCL vstoren 不在标量数组中存储向量
- c# - 使用用户密码作为密钥 c# 的 AES 加密
- amazon-sagemaker - 如何向 AWS Ground Truth 标签器 UI 添加键盘快捷键?
- python - 如何在最短路径算法中记录路径(Floyd-Warshall)