Javascript 越南问题
我需要写一个代码,将大于10个字母的单词缩写为:localization->l10n。我使用javascript来实现这一点,但出现了一个错误Javascript 越南问题,javascript,nan,Javascript,Nan,我需要写一个代码,将大于10个字母的单词缩写为:localization->l10n。我使用javascript来实现这一点,但出现了一个错误 <html lang="en"> <head> <meta charset="UTF-8"> <title>Way Too Long Words</title> </head> <body> <input type="text">
<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>
太长了
缩写
var word=document.querySelector('input').value.split('');
document.querySelector(“按钮”).onclick=function(){
“严格使用”;
var-theResult=word[0]+word.slice(1,-1).length+word[word.length-1];
document.getElementById(“结果”).innerHTML=theResult;
};
如何克服这个问题我认为您的代码目前存在两个主要问题:
word
的值。您希望每次单击按钮时都发生这种情况word
是否超过10个字母,并尝试计算theResult
上述两个问题的组合意味着一旦页面加载,
word
就被设置为空字符串,单击该按钮将始终导致theResult
为NaN
我试图将js放在一个单独的文件中,并在html文件中调用它,其中包含代码:var word=document.querySelector('input')。value;document.querySelector(“按钮”).onclick=function(){“使用严格”;var-theResult=word[0]+word.slice(1,-1).length+word[word.length-1];if(word.length>10){document.getElementById(“结果”).innerHTML=theResult;}@MohamedMahmoudElkassas将代码拆分成一个单独的文件不会改变它的运行方式,但是对于较大的代码块来说,这是一个好习惯。您已经解决了问题2,但是使用页面的人可能不知道为什么他们看不到结果(我不知道这对您来说可能是个问题,也可能不是)。但是您还没有解决问题1-定义word
的代码行需要在您的单击处理函数中,否则您仍然只设置word
的值一次,而不是每次单击按钮。