2016-07-24 61 views
0

在JavaScript atleast声明是必须在使用变量之前,但在下面的代码中使用for循环变量我没有声明和代码工作正常.....为什么? ?为什么循环不需要变量声明

<body> 
    <form> 
    <input type="button" onclick="multi(a)" value="click here" > 
    </form> 


    <script type="text/javascript" language="javascript"> 
    <!-- 
      var a; 
      function multi(a){ 
      a=parseInt(prompt("Enter a value","your value goes here")); 
       for(i=1;i<=10;i++){ 
       document.write(a+"X"+i+"="+a*i+"<br />"); 
      } 
    } 
    --> 
    </script> 
    </body> 
+0

'for'循环中的'i'有点不寻常,因为通常它只用于循环中。在其他情况下,您需要根据正常范围规则声明和使用变量。 – Toby

+1

它**应该**已经使用var来声明'i'。 @Toby不,在编写的代码中,'i'是一个全局变量。 – Pointy

+1

或'let'取决于您想要支持的浏览器的年龄。 – Quentin

回答

1

当你没有从事strict mode,您可以通过将值分配给它声明一个变量(作为一个全球性的)。它只读取一个抛出ReferenceError的未声明的变量。

虽然这并不被认为是好的做法,这就是为什么它被严格禁止的原因。

相关问题