Показать сообщение отдельно
  #5 (permalink)  
Старый 31.01.2010, 01:28
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

А еще про guid. Идея хорошая. ток навешивать его можно на новые функции созданные динамически иначе будет баг. А если есть уже готовая функция скомпилированная, нужная только для обработки нескольких обьектов?
function abc(){alert(1)}
function test1(){
  var a = abc;

  a.guid=1;
  }
function test2(){
  var a=abc;
  alert(a.guid); //1 а это баг
  }
test1();
test2();

выходом из этой ситуации - делать мост между обьектом и функцией.
Навешивать на функцию И обьект id=guid++

object={} // обьект DOM
function abc(){alert(1)}
guid=0;
function test1(obj,fn){
  obj.fns = obj.fns||{};
  obj.fns[guid]=fn;
  fn.objs = fn.objs||{}
  fn.objs[guid]=obj;
  return guid++;
  }
function test2(num){
  var a=abc;
  alert(a.objs[num]); //object верно
  }
test2(id=test1(object,abc));
alert(object.fns[id]); //function abc();

Последний раз редактировалось PeaceCoder, 31.01.2010 в 01:38.
Ответить с цитированием