在javascript中添加字符串和数字
下面的脚本是我在教程中遇到的一个示例。它应该显示当一个数字太大时会发生什么在javascript中添加字符串和数字,javascript,concat,Javascript,Concat,下面的脚本是我在教程中遇到的一个示例。它应该显示当一个数字太大时会发生什么 <script> function myFunction() { var myNumber = 2; var txt = ""; while (myNumber != Infinity) { myNumber = myNumber * myNumber; txt = txt + myNumber + "<br>"; } do
<script>
function myFunction() {
var myNumber = 2;
var txt = "";
while (myNumber != Infinity) {
myNumber = myNumber * myNumber;
txt = txt + myNumber + "<br>";
}
document.getElementById("demo").innerHTML = txt;
}
</script>
我的两个问题基本上是
1) 在while循环的第二次迭代中,txt中已经有了一个字符4(因为在Javascript中,字符串加上一个数字就是一个字符串),然后我们将16添加到该字符串中。我们不是应该得到416等等吗
2) 为什么break(br)元素周围需要有引号 1)否。在第二次迭代中,txt
是“4
”
。添加16
将导致“4
16”
2) 这是一个字符串文字,与任何其他字符串文字一样。1)否。在第二次迭代中,txt
是“4
”
。添加16
将导致“4
16”
2) 这是一个字符串文字,就像任何其他字符串文字一样。1)在第二次迭代时,txt变成
4
16
,因此它不是416
txt=txt+myNumber+
将是variable=variable+variable
并且
不是变量。1)在第二次迭代时,您的txt变为4
16
,因此它不是416
txt=txt+myNumber+
将是variable=variable+variable+variable
而
不是变量。@Rockstar5645您得到的是416。就像SLaks说的那样,你只是把一个
放在它们之间。因此,这两个数字之间有一个硬回报。在循环中添加console.log(txt)
,您最好能看到这些数字被加在一起。@Rockstar5645您得到的是416。就像SLaks说的那样,你只是把一个
放在它们之间。因此,这两个数字之间有一个硬回报。在循环中添加console.log(txt)
,您将更好地看到这些数字被添加在一起。
4
16
256
65536
4294967296
18446744073709552000
3.402823669209385e+38
1.157920892373162e+77
1.3407807929942597e+154
Infinity