猿问

第二个for运行的结果是什么?为什么?stValue为什么没有用var?可不可以解释下stValue+=i是什么意思


<html>
<head>
   <title>for</title>
   <meta http-equiv="content-type" content="text/html ;charset=utf-8"/>
   <script type="text/javascript">
       function  doFor(){
           var stValue="";
           for (var i=1;i<=10;i++){
               stValue+=i;
           }
           alert(stValue);
           stValue="";
           for (var i=10;i>=10;i--){
               stValue+=i;
           }
           alert(stValue);

       }
</script>
</head>
<body onload="doFor()">

</body>
</html>


sgbb88
浏览 1275回答 3
3回答

一杯2块的奶茶

你这样写第二个for出来,stValue肯定是10,你想让他循环10次,起码改这么写吧for (var i=10;i>=1;i--){}你这些都是在一个函数里面执行的,也没返回函数,也就不存在什么作用域的问题了,stValue+=i等价于stValue=stValue+i,他们最大的差别就是复合赋值运算符会自动地将运算结果转型为其左操作数的类型。

qq_大寒_2

你这是全局变量和局部变量值的比较吧,第二个没有var,全局作用了,

Caballarii

第二个没有var是因为同一作用于下只能var一次,stValue+=i的意思是stValue=stValue+i,就是自身的值加上i在赋值给自己
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答