0
  </!DOCTYPE html>
</html>
</body>

<p>Given that y=5, calculate x=++y, and display the result.</p>
<button onclick="myFunction()">Try it</button>

<p id="demo"></p>

<script>
function myFunction()
{
var y=5;
var x=++y;
var demoP=document.getElementById("demo")
demoP.innerHTML="x=" + x + ", y=" + y;
}
</script>

<p><strong>Note:</strong> Both variables, x and y, are affected.</p>
</body>
</html>*/

显然,我是一个初学者,但我没有其他人可以问。如果有人能解释demop.innerHTML="x=" + x + ", y=" +y;这段代码背后的原因,那将会很有帮助。

4

3 回答 3

4

如果有人能解释 demop.innerHTML="x=" + x + ", y=" +y; 背后的原因会很有帮助 在这段代码中

那行代码不会增加任何内容,在该行中+是字符串连接运算符,而不是数字加法运算符。它用于构建一个字符串(它不会更改xor y),然后将其分配给demoP.innerHTML,它将 DOM 元素的内容替换为该字符串的内容。

对于初学者来说有点难以理解的是这一行:

var x=++y;

这做了三件事:

  1. 它声明了一个x在当前作用域 ( var) 中调用的变量。

  2. 它增加 的值y

  3. 它将增加的值分配给x

所以两者都以x结束y6因为增量发生在用于初始化的值之前。这称为“前缀增量”。“Pre”是因为它发生在我们将值用于某事之前。yx

与大多数从 B 派生主要语法的语言(如 C、C++、Java、C#、JavaScript 和许多其他语言)一样,还有一个“后缀”增量:

var x = y++;

“发布”,因为我们在使用该值递增。如果该行如上所示,x将得到5(y的旧值) 并y得到6.

于 2013-02-03T15:38:03.113 回答
1
demoP.innerHTML = "x = " + x + ", y = " + y;

这将设置由 标识的元素的 HTML demoP+将字符串和数字连接成一个字符串,该字符串将是demoP.

于 2013-02-03T15:38:55.387 回答
0

当您单击“尝试”按钮时,该函数myFunction()将被执行,并且元素内的 id 元素的 HTMLdemo更改为:x=6, y=6

于 2013-02-03T15:39:45.293 回答