我正在努力学习JS,我正在尝试解决一些练习以改进。目前,我正在试图找出一个数字是回文,我有这个代码,但它似乎没有用,因为我得到的是我在输入中插入的所有数字都是回文。
<input type="text" class="screen">
<button type="button" class="btn">Check</button>
var strg = document.querySelector(".screen").value;
var pal = strg.split("").reverse("").join("");
document.querySelector(".btn").addEventListener("click", function(){
if (strg == pal) {
console.log(strg+" is a palindrome");
}
else {
console.log(strg+" is not a palindrome");
}
})
https://jsfiddle.net/Lw6uk8kb/
感谢帮助。
答案 0 :(得分:2)
您还必须在处理程序中移动前两行:
document.querySelector(".btn").addEventListener("click", function(){
var strg = document.querySelector(".screen").value;
var pal = strg.split("").reverse("").join("");
if (strg == pal) {
console.log(strg+" is a palindrome");
}
else {
console.log(strg+" is not a palindrome");
}
});
否则您将始终查询.screen
的相同(空?)值。
答案 1 :(得分:1)
使用以下代码:
document.querySelector(".btn").addEventListener("click", function(){
var strg = document.querySelector(".screen").value;
var pal = strg.split("").reverse("").join("");
if (strg == pal) {
console.log(strg+" is a palindrome");
}
else {
console.log(strg+" is not a palindrome");
}
})
这样可行,因为您将在点击按钮时(稍后)计算回文。在您的代码中,所有脚本加载后,所有计算都会立即生效。
答案 2 :(得分:0)
您没有使用实际值更新变量 只需在事件处理程序中移动它们:
sigma2 = ((1/m) * (sum((X - mu') .^ 2)))'