например:
//global vars
var g1,g2,g3;
function a(p1,p2,p3){
//local vars
var a1,a2,a3;
return function(){
//an embed function, looks like dynamic defined at runtime
}
}
var f1 = a(1,2,3)
var f2 = a(4,5,6)
f1()
f2()
У меня вопрос: f1 и f2 указывают на один и тот же код в памяти, почему они выполняют разные функции? функция тратит время на создание функции встраивания при каждом вызове a?
и GC работает также очень интересно, локальные переменные a не будут GC после выполненного, это должно быть GC после возвращенной функции встраивания GCed, причина возвращенной функции embed все еще может вызывать локальные переменные функции a.