SwVitaliy

Untitled

Aug 18th, 2012
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. 5. Использование пакетов
  3.  
  4. В самом языке нет поддержки пакетов. Увы. Так что придется использовать какую-нибудь библиотеку.
  5. Пример такой библиотеки:
  6. function namespace(){};
  7.  
  8. /**
  9.  * create new namespace if it is not exist
  10.  * @param newNamespace string namespaces like "aaa.dddd.fff"
  11.  */
  12. namespace.prototype.useNamespace = function(newNamespace){
  13.  
  14.     var namespaces = newNamespace.split(".");
  15.     if (!this[namespaces[0]]){
  16.        this[namespaces[0]] = new namespace();  
  17.     }
  18.     if (namespaces.length > 1){
  19.        this[namespaces[0]].useNamespace(newNamespace.substring(namespaces[0].length+1));
  20.     }
  21. };
  22.  
  23.  
  24. Далее в приложении создаем корневой пакет…
  25. var app = new namespace();
  26.  
  27.  
  28. … и переводим на него наши классы:
  29. app.useNamespace("model.note");
  30.  
  31. app.model.note.NoteDocument = function(str){
  32.   ...
  33. }
  34.  
  35. ...
  36. var doc = new app.model.note.NoteDocument("hello!");
  37. doc.init();
Advertisement
Add Comment
Please, Sign In to add comment