Javascript 为什么if语句将整数I保持在2

Javascript 为什么if语句将整数I保持在2,javascript,loops,Javascript,Loops,我试图弄明白为什么我的if语句会创建一个无止境的循环 var gname = "Glenn" var aNames = [ "Brian", "John", "Frank", "George", "Melissa", "Julie" ] var i = 0 do { console.log("Hello " + aNames[i]); console.log("i = " + i) if (i = 1)

我试图弄明白为什么我的if语句会创建一个无止境的循环

var gname = "Glenn"
var aNames = 
    [
    "Brian",
    "John",
    "Frank",
    "George",
    "Melissa",
    "Julie"
    ]

var i = 0

do {
    console.log("Hello " + aNames[i]);
    console.log("i = " + i)
    if (i = 1){ console.log("Failed")}
    i=i+1;
} 
while (i < 6)
var gname=“Glenn”
变量aNames=
[
“布莱恩”,
“约翰”,
“弗兰克”,
“乔治”,
“梅丽莎”,
“朱莉”
]
变量i=0
做{
log(“你好”+aNames[i]);
console.log(“i=“+i”)
如果(i=1){console.log(“Failed”)}
i=i+1;
} 
而(i<6)

问题出在这一行:

if (i = 1){ console.log("Failed")}
上面的
=
运算符将
1
设置为
i
变量。您应该使用
==
运算符比较这些值,如下所示:

if (i === 1){ console.log("Failed")}

问题出在这一行:

if (i = 1){ console.log("Failed")}
上面的
=
运算符将
1
设置为
i
变量。您应该使用
==
运算符比较这些值,如下所示:

if (i === 1){ console.log("Failed")}

=
用于作业,
=
==
用于比较。谢谢。嗯。我已经习惯了VB.net。但我现在确实记得这一点。
=
用于作业,
=
==
用于比较。谢谢。嗯。我已经习惯了VB.net。但我现在确实记得这一点。