2014-12-05 18 views
-2
var text=(32243).toString().split(""); 
for(var i=(text.length -1);i===0;i--){ 
console.log(i); 
} 

我应该得到的输出为i等于4,3,2 ... ,但我发现undefined,必须有我失踪对于圈子反向..undefined

+2

只要条件'i === 0'为真,您的循环将继续。由于第一次通过循环并不是真的,你的循环不会运行。 – 2014-12-05 16:39:18

+0

我什么也没得到,甚至没有定义。 – j08691 2014-12-05 16:39:34

回答

1

试一下.. 。

for(var i=(text.length-1);i>=0;i--){ 
    console.log(i); 
} 

虽然i>=0 ...

1

你是误解如何建立for循环。 for循环有三个表达式

for ([initialization]; [condition]; [update]) 

initialization表达式设置循环。 condition评估之前每循环运行和如果它评估为truthy,循环体运行。 update在循环的每个循环的末端处运行并且通常更新循环变量。

在你的例子中,你初始化i4(字符串的长度为"32243"-1)。但是你的情况是i===04===0显然是错误的,所以你的循环永远不会运行。您的condition应该可能是i>=0