字符串长度改变错误

时间:2018-05-25 17:14:15

标签: javascript

我刚开始学习Javascript并从w3schools改变了这个程序,虽然它必须是正确的但是,每当我点击“试试”时,str.length的值都会改变,我无法理解为什么

function myFunction() {
  var str = document.getElementById("demo").innerHTML;

  document.getElementById("demo").innerHTML = str.length;
}
<p id="demo">Visit Microsoft!</p>

<button onclick="myFunction()">Try it</button>

3 个答案:

答案 0 :(得分:1)

您将innerHTML设置为之前的长度,因此下次按下它时,您将获得长度的长度:

'Visit Microsoft!'的长度为16

'16'的长度为2

'2'的长度为1

答案 1 :(得分:1)

您更改demo innerHtml并再次使用此行从html代码中读取

document.getElementById("demo").innerHTML = str.length;

首先,您获得Visit Microsoft!,其长度 16

您将演示文字更改为 16 。并再次阅读其长度, 2 。而且其长度将 1

答案 2 :(得分:0)

每次单击该按钮时,都会执行myFunction()。当您第一次单击时,变量str获取值“访问Microsoft!”并且id为“demo”的<p>标签的内容成为变量str中字符串的长度,因此“访问Microsoft!”的长度为16,您将看到16。 下次单击该按钮时,变量str的值为“16”,ID为“demo”的<p>标签的内容将成为变量str中字符串的长度,因此长度为“16” “,这是2​​.等等......