같은 코드가 양면으로 쓰여졌는데, 둘 사이에 트레이드 오프가 있는지 궁금해합니다.전역 변수를 함수에 전달하는 이유는 무엇입니까?
방법 1 :
(function(i) {
// Do something to i now
}(global_variable))
방법 2 :
(function() {
// Do something to global_variable now
}())
어쨌든 그 범위에 존재하는거야 경우 함수에 전역 변수를 전달할 것입니다 왜
?
첫 번째 코드 블록은 함수 내에서'global_variable'이 아닌'i'를 사용해야합니다. – Barmar
변수를 참조하면 성능이 향상 될 수 있습니다. JavaScript에서는 범위가 더 가까울수록 변수가 더 빨리 사용됩니다. – David
충돌을 피하십시오. 나중에 뭔가가'global_variable'에 저장된 참조를 대체한다면, iife 내부의 코드는 상관하지 않을 것입니다. –