Javascript “为什么?”;";在;dowhile(j<;5)&引用;返回15? var j=0,t=0; do{j++;t+=j;}while(j
因为在计算while测试之前j是递增的,所以循环将针对以下j值运行:Javascript “为什么?”;";在;dowhile(j<;5)&引用;返回15? var j=0,t=0; do{j++;t+=j;}while(j,javascript,Javascript,因为在计算while测试之前j是递增的,所以循环将针对以下j值运行: var j=0, t=0; do{j++; t+=j;}while(j<5); alert(t); 它给出了t的最终值为15(1+2+3+4+5)。可能有3个陷阱: do块始终执行一次-与条件无关 它使用t+=j,因此它将j与之前的t值相加 当j变为5时,仍然执行do循环 给你: 循环#0: j=1 t=1 循环#1: j=2 t=3 循环#2: j=3 t=6 循环#3: j=4 t=10 循环#4: j=5 t=1
var j=0, t=0;
do{j++; t+=j;}while(j<5);
alert(t);
它给出了t的最终值为15(1+2+3+4+5)。可能有3个陷阱:
t=10这是非常琐碎的东西-你应该能够理解我这里的内容
j = 1, 2, 3, 4, 5
每次循环运行时,j都会递增。递增后,t会向其中添加j。在第一次循环中,t是1。然后j变成2,t是3,依此类推,如下所示:
j = 1; t = 1
j = 2; t = 3
j = 3; t = 6
j = 4; t = 10
j = 5; t = 15
让我们把它清理干净:
j=1, t=1
j=2, t=3
j=3, t=6
j=4, t=10
j=5, t=15 (j is not less than 5, loop ends).
这是:
var j = 0;
var t = 0;
j++; // j = 1
t += j;
j++; // j = 2
t += j;
j++; // j = 3
t += j;
j++; // j = 4
t += j;
j++; // j = 5
t += j;
alert(t);
其结果是:
var t = 0;
t += 1;
t += 2;
t += 3;
t += 4;
t += 5;
alert(t);
我认为你可以做简单的算术:
var t = 1 + 2 + 3 + 4 + 5;
alert(t);
因为0+1+2+3+4+5=15?我建议只写下每次迭代代码所做的事情;它很短,而且没有什么棘手的地方。因为1+2+3+4+5的总和是15!@kevin——Grady,我想你已经有了!!你为什么认为它不应该呢?
var t = 1 + 2 + 3 + 4 + 5;
alert(t);
var t = 15;
alert(t);