Я не могу понять, что не так в следующем коде и почему он будет работать, когда я сделаю это, используя второй способ. Может ли кто-нибудь помочь мне понять это?Попытка закрыть неправильный путь?
Я это следующий код JavaScript:
var clsFunc = function(prefix) {
var id = 0;
return function() {
id = id + 1;
console.log(prefix + id);
}
}
Первый способ (не работает):
Если я пытаюсь вызвать эту функцию как этот ничего не происходит
clsFunc('div')
Второй способ (рабочий)
var getId = {'div': clsFunc('div')}
getId.div()
Результат:
div1
undefined
getId.div()
Результат:
div2
По крайней мере, связанный: http://stackoverflow.com/questions/111102/how-do-javascript-closures-work –
В основном это разница между 'clsFunc ('div')' и 'clsFunc ('div') () ' – Bergi