Я видел тот же код, написанный в обоих направлениях, и удивляюсь, есть ли какой-либо компромисс между ними.Зачем вам передавать глобальную переменную в функцию?
Метод 1:
(function(i) {
// Do something to i now
}(global_variable))
Метод 2:
(function() {
// Do something to global_variable now
}())
Почему бы вам передать глобальную переменную в функцию, если она будет существовать в этой области видимости в любом случае?
Первый блок кода должен использовать внутри функции 'i', а не' global_variable'. – Barmar
он может увеличить производительность при передаче переменной. В JavaScript, чем ближе по объему переменная, тем быстрее она используется. – David
во избежание конфликтов. Если что-то позже заменяет ссылку, хранящуюся в 'global_variable', код внутри iife не волнует. –