2013-07-19 2 views
0

У меня есть этот код:Попутный переменные между функциями в Javascript

collection = (function() { 

    function collection(removeLinkTitle){ 

     this.removeLinkTitle = removeLinkTitle || 'delete'; 
    } 

    collection.prototype = { 

     removeLinkTitle:  this.removeLinkTitle, 

     init:function(){ 

      ...some code... 
      this.deleteCollectionForm(); 
     }, 

     deleteCollectionForm:function(){ 

     var removeFormA = $('<a href="#">'+this.removeLinkTitle+'</a>'); 
     linkLi.append(removeFormA); 

     removeFormA.on('click', function(e) { 

      e.preventDefault(); 

      linkLi.remove(); 

      var index = collectionHolder.data('index'); 
      collectionHolder.data('index', index - 1); 
     }); 
    } 
}; 

return collection; 

})(); 

Дело в том, что переменная removeForm возвращает его значение только FRST времени он загружает, следующее время он возвращает неопределенным.

Я не хочу передавать переменную в качестве аргумента, так, есть ли другой способ сделать это?

Спасибо!

+0

Как вы это называете? – mohkhan

+0

Почему вы объявляете 'var', когда функция заканчивается в следующей строке? – Thilo

+0

действительно сложно сказать что-то подобное, я не вижу, где и когда removeForm возвращает что-то ..? – reyaner

ответ

0

я думаю, что это на самом деле не проблема, одна вещь, которая не определена является, removeLinkTitle, попробуйте следующее:

return new collection; 

так вы попадаете конструктор, или установить другое значение с:

return new collection("delete item"); 
Смежные вопросы