javascript NaN问题

时间:2016-08-24 15:25:26

标签: javascript nan

我需要写一个代码,将大于10个字母的单词缩写为:localiztion - >本地化。我使用javascript来做这个但是NaN错误。

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Way Too Long Words</title>
</head>
<body>

       <input type="text">
       <button>abbreviate</button>
       <div id="result"></div>

<script>

    var word = document.querySelector('input').value.split('');

    document.querySelector("button").onclick = function () {
    "use strict";
    var theResult = word[0] + word.slice(1, -1).length + word[word.length - 1];

        document.getElementById("result").innerHTML = theResult;
};
</script>
</body>
</html>

如何克服这个问题

1 个答案:

答案 0 :(得分:0)

我发现您的代码存在两个主要问题:

  1. 您当前仅在加载文档时设置word的值一次。您希望每次单击按钮时都会发生这种情况。

  2. 您目前尚未检查word是否超过10个字母,并尝试计算theResult,无论如何。

  3. 上述两个问题的组合意味着,一旦页面加载,word就会设置为空字符串,单击该按钮将始终导致theResultNaN