试图找出一个数字是否是JS中的回文

时间:2016-07-04 16:04:05

标签: javascript

我正在努力学习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/

感谢帮助。

3 个答案:

答案 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)))'