2014-07-17 5 views
0

그래서 코드의이 비트가 : 이제: 언급 변수가 for 루프 후에 반면, "경고 이전 'var에'문이 결합"

function circular() { 
    "use strict"; 
    var circle = document.getElementsByClassName("loadingCircle"), 
     i; 
    for (i = 0; i < circle.length; i += 1) { 
     var radius = circle[i].getAttribute("data-radius"), 
      trackWidth = circle[i].getAttribute("data-trackWidth"), 

      // more after this but it's not relevant 

내가이 JSlint의 경고를 수행하십시오 :

이전의 'var'문과 결합하십시오.

하지만 전체 스크립트가 삭제됩니다.

답변

3

이 같은 함수의 머리를 지정하지 않고, 변수 radius 및 루프의 trackWidth 외부를 선언 할 수

function circular() { 
    "use strict"; 
    var circle = document.getElementsByClassName("loadingCircle"), 
     radius, 
     trackWidth, 
     i; 
    for (i = 0; i < circle.length; i += 1) { 
     radius = circle[i].getAttribute("data-radius"), 
     trackWidth = circle[i].getAttribute("data-trackWidth"), 

      // more after this but it's not relevant 

을 제쳐두고, JSLint는 악명 엄격한, 그리고 많은입니다 그것의 규칙은 더 문체 선호이다. 대신 JSHint을 사용하는 것이 좋습니다 (많은 편집기의 플러그인도 사용할 수 있습니다).

+0

변수는 루프 사이클 당 한 번만 초기화되며 한 번만 초기화됩니다. – isherwood

+0

감사합니다. 그게 정확히 필요한 것입니다! –