2012-04-19 2 views
1

자바 스크립트 코드베이스를 상속 받았으며 자바 스크립트를 처음 사용합니다. 그래서 나는 일반적인 실수, 오용을 피하기 위해 JSHint를 사용하고있다.악의적 인 평가의 경우를 피하는 방법은 무엇입니까?

이 JSHint 코드의 조각을 발견했다하지만 난 나쁜 평가하지 않도록하는 방법을 모른다 : 당신이 '돈 경우

function GetProperties(object) { 
    var result, property, t; 
    result = ''; 
    for (property in object) { 
     if (property.indexOf('Get', 0) === 0) { 
      t = object[property] + "..."; 
      eval("if (GetNumOfParameter(t) == 0) var m = object." + property + "(); else var m = -100;"); 

      if (window.m != -100) { 
       result += property + ': ' + window.m + '\r\n'; 
      } 
     } 
    } 
    return result; 
} 
+3

'var m = object [property]()'? –

답변

2

를 사용하여 다음을, 그것은 훨씬 더, 당신은 m를 사용할 필요가 없습니다 다른 곳에서는 사용하지 마십시오.

function GetProperties(object) { 
    var result, property, t; 
    result = ''; 
    for (property in object) { 
     if (property.indexOf('Get', 0) === 0) { 
      t = object[property] + "..."; 

      if (GetNumOfParameter(t) == 0) 
       result += property + ': ' + object[property]() + '\r\n'; 
     } 
    } 
    return result; 
} 
+0

예를 들어'GetNumOfParameter (t) == 0' 대신에'! GetNumOfParameter (t)' – Zirak