2016-07-24 20 views
0

in javascript atleast deklaration ist muss vor der verwendung von variablen aber im folgenden code die variable i in der for loop wird ohne deklaration verwendet und der code funktioniert gut ..... warum ?? ?Warum for loop dont brauchen variable deklaration

<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

das 'i' innerhalb einer' for' Schleife ist ein wenig ungewöhnlich, da es normalerweise nur innerhalb der Schleife verwendet wird. In anderen Situationen möchten Sie Variablen basierend auf normalen Bereichsregeln deklarieren und verwenden. – Toby

+1

It ** sollte ** 'var' verwendet haben, um' i' zu deklarieren. @Toby nein, das 'i' im geschriebenen Code ist eine globale Variable. – Pointy

+1

Oder "lassen" abhängig davon, wie alt die Browser sind, die Sie unterstützen möchten. – Quentin

Antwort

1

Wenn Sie nicht strict mode beschäftigt haben, können Sie eine Variable deklarieren (als global) durch einen Wert zuweisen. Es liest nur eine nicht deklarierte Variable, die einen ReferenceError auslöst.

Dies gilt jedoch nicht als gute Praxis, weshalb es im strikten Modus verboten ist.