javascript NaN issue
javascript NaN issue
我需要写一个代码,将大于10个字母的单词缩写为:localization -> l10n。我用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>
如何克服这个问题
我看到你的代码有两个主要问题:
-
当前仅在加载文档时设置一次
word
的值。 -
你目前没有检查
word
超过10个字母,并尝试计算theResult
不管
以上两个问题的结合意味着word
在页面加载时被设置为空字符串,并且单击按钮将始终导致theResult
为NaN
。
相关文章:
- issue with FB.Event.subscribe
- JavaScript NaN equvialence
- 如何为排除无穷大和NaN的数字声明Flow类型
- 为什么我在这个javaScript代码中使用NaN
- 如何防止Math.max()返回NaN
- 函数将输出nan而不是数字,为什么
- 使用Jquery Issue垂直重新排序Divs
- jquery中出现NaN错误.已经尝试过ParseInt,但仍然不起作用
- 尝试求和时,在我的表的页脚中返回$NaN
- 我的jquery中出现NaN错误
- 金额结果为NaN
- 创建了一个选项卡,但点击时不会起作用-jQuery issue/newbie
- jQuery find() Issue
- 使用running total时使用Javascript$NaN
- 使用jquery CounterUp提供NaN的百万值
- $route.reload(); Issue
- 为什么Math.pow(1,无穷大)返回NaN
- parseFloat() returning NaN
- javascript NaN issue
- JavaScript issue with NaN