Она "нужная" для JS только потому, что в нем используются говнопрактики проектирования, когда объекты заметаются под ковер. Эдакий недофапе - стайл на одних коллбеках
В нормальных ЯП с этим проблем нет. Там Вы писали бы что то такое
theTimeout = Timeout.create
theTimeout.a = 1
object = {
a: 10,
fu1: staticFunction(){alert(a)},
fu2: dynamicFunction(){alert(a)}
}
theTimeout.addOnTimeout(object.fu1)
theTimeout.addOnTimeout(object.fu2)
//>>>1, 10
|