var a=0; var tt=[1,2,3]; for(var i=0;i<tt.length;i++) { a += tt[i]; alert(a); }
起得真早…… 逻辑有问题, var a += tt[i]; 意思是 var a = a + tt[i]; a的初始值是什么呢?a都还没定义呢。要不就用 var tt=[1,2,3]; var a = 0; for(var i=0;i<tt.length;i++) { a+=tt[i]; alert(a) }
var a=0; var tt=[1,2,3]; for(var i=0;i<tt.length;i++) { a += tt[i]; alert(a); }
牢记:javascript中,for语句里面的var关键字定义的变量,作用域并非只在for循环体内。 var关键字定义的变量作用域在其所在的函数内。<script type="text/javascript"> var tt=[1,2,3]; for(var i=0;i<tt.length;i++) { (function(){ var a+=tt[i] alert(a) })(); } </script>
var tt=[1,2,3];
for(var i=0;i<tt.length;i++)
{
a += tt[i];
alert(a);
}
逻辑有问题,
var a += tt[i];
意思是
var a = a + tt[i];
a的初始值是什么呢?a都还没定义呢。要不就用
var tt=[1,2,3];
var a = 0;
for(var i=0;i<tt.length;i++)
{
a+=tt[i];
alert(a)
}
var tt=[1,2,3];
for(var i=0;i<tt.length;i++)
{
a += tt[i];
alert(a);
}
var关键字定义的变量作用域在其所在的函数内。<script type="text/javascript">
var tt=[1,2,3];
for(var i=0;i<tt.length;i++)
{
(function(){
var a+=tt[i]
alert(a)
})();
}
</script>
等同于var a=a+tt[i] 肯定undefind