我需要写一个代码,将大于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>
如何克服这个问题
答案 0 :(得分:0)
我发现您的代码存在两个主要问题:
您当前仅在加载文档时设置word
的值一次。您希望每次单击按钮时都会发生这种情况。
您目前尚未检查word
是否超过10个字母,并尝试计算theResult
,无论如何。
上述两个问题的组合意味着,一旦页面加载,word
就会设置为空字符串,单击该按钮将始终导致theResult
为NaN
。