function createFunctionWithProperty(property) {
functionWithProperty.property = property;
return functionWithProperty;
function functionWithProperty() {
}
}
var a = createFunctionWithProperty(123);
var b = createFunctionWithProperty(321);
alert(a.property + " : " + b.property); // 123 : 321
Так, насколько я знаю, как createFunctionWithProperty
и functionWithProperty
являются объявления функций, которые поднимаются, разобранная и принесенное в существование до выполнения любого кода JavaScript выполняются. Однако в какой-то момент при вызове функции createFunctionWithProperty
functionWithProperty
становится замыканием, то есть очень конкретным экземпляром функции functionWithProperty
со своими собственными свойствами и переменными, которые закрываются по сравнению с разными для каждого экземпляра. Это все в теории, но в этом случае я не понимаю, как все работает. Кто-нибудь даст подробный отрыв о том, когда и как точно functionWithProperty
станет закрытием. Спасибо.Как работают затворы в этом конкретном случае?
Этот вопрос кажется не по теме, потому что он не связан с закрытием. – Mathletics
@Mathletics, о чем это? –