为什么while循环无限循环?

时间:2016-04-06 19:07:33

标签: javascript while-loop

所以我正在为我的学习制作一个网络应用程序,它基本上使用Twitter的流媒体API和谷歌地图的组合来显示Lat Lng值。

Y是一个元素,它表示已接收的推文数量(检查数组的长度),X是另一个使其文本内容每秒递增1的元素。

  • 我只是为它拍摄了一些随机值,我会使用更合理的比例(每60秒或更长时间)。

我想每分钟记录一下这些信息,以制作图表,但我已经以某种方式制作了无限循环,我不太确定如何。

以下是代码:

function saveinfo(){
var x = document.getElementsByClassName('timer')[0].textContent;
var y = document.getElementsByClassName('counter')[0].textContent;
while (x != "510"){
    if(x = "5"){
        console.log(y);

    }
    else if (x = "200") {
        console.log(y);

    }
    else if (x = "300"){
        console.log(y);

    }
    else if (x = "400"){
        console.log(y);

    }
    else if (x = "500"){
        console.log(y);
        x = "510"
    }
}
};

2 个答案:

答案 0 :(得分:3)

评估if语句后,您需要设置x

if(x = "5"){

这意味着x永远不会等于"510",您的循环将永远持续下去。

要解决此问题,您应该执行if(x === '5')

之类的操作

答案 1 :(得分:0)

你的if / else语句不起作用。
你输入if(x = "200")而不是if( x == "200")
在if / else语句中,if(x=1)不起作用。
if(x==1)if(x=="1")始终有效。
if(x==="1")仅当x是一个字符串表示" 1&#34时才有效;。if(x===1)仅在x为数字时有效。

您需要做的就是将if(x="number")更改为if(x=="number")