Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   функции в глобальном объекте window (https://javascript.ru/forum/events/17225-funkcii-v-globalnom-obekte-window.html)

AlekZonder 11.05.2011 15:27

функции в глобальном объекте window
 
использую фреймворк backbone.

вопрос не сколько по фреймворку, сколько по организации хранения функций в js.

Видать я чего то не понимаю здесь.

Фреймворк определяется следующим образом:

(function(){
var Backbone;
// и дальше пошло определение функций
...
// в конце определяются еще несколько функций
var getUrl = function(object) {...};
var wrapError = function(onError, model, options) { ... };
var escapeHTML = function(string) { ... };
}) ();


Вопрос в следующем:
в глобальном объекте window объект Backbone есть, а функций этих нету, хотя существуют другие глобальные функции.

Где находятся эти функции?

Код фреймворка

melky 11.05.2011 17:48

они находятся в замыкании. и они используются.

пример для escapeHTML

escape : function(attr) {
      var html;
      if (html = this._escapedAttributes[attr]) return html;
      var val = this.attributes[attr];
      return this._escapedAttributes[attr] = *!*escapeHTML*/!*(val == null ? '' : val);
    },

AlekZonder 11.05.2011 19:44

ну то что используются это понятно.
получается обратится к ним извне не получится раз они находятся в замыкании в функции без названия.

ок. спасибо большое

melky 11.05.2011 22:52

ну так напишите в замыкании

Backbone.escape = escape;


и используйте на здоровье


Часовой пояс GMT +3, время: 08:11.