2013-10-18 2 views

답변

6

당신은 변수 지구를 만들 것입니다

window["variable" + varName] = 42; 
console.log(variablemyvar); // 42 

이 작업을 수행 할 수 있습니다. 가능하면 window 대신, 당신은 완전히 즉

var myObject = { 
    someOtherVariable: 1337 
}; 

myObject["variable" + varName] = 42; 
console.log(myObject.variablemyvar); // 42 

그러나 당신이이 일을 피해야한다 어떤 범위 (객체)를 사용할 수 있습니다. 그 이유는 다음과 같은 코드가 쉽게 분리된다는 것입니다. 나중에 변수의 이름을 바꾸고 싶다고합시다. 대부분의 경우 IDE를 간과 할 것입니다. 또 다른 이유는 코드 축소 기가이를 최소화하지 못한다는 것입니다. 공격자를 "공격적"으로 설정하면 축소하는 동안 코드가 손상 될 수도 있습니다.

마지막으로, 특히 window과 함께 첫 번째 예제를 사용하면 전역 변수는 나쁜 습관으로 간주되며 선언 한 방법과 관계없이 항상 피해야합니다.

+2

또한 사실로 설명하기보다는이를 수행하지 않는 것이 좋습니다. –

+2

몇 가지 이유가 추가되었습니다. 더 많이 가지고 있다면, 그것들을 자유롭게 편집하십시오 :) –