Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Использование namespace 
:(
    Опции темы
Burrr
Дата 26.7.2007, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 4.9.2005

Репутация: 10
Всего: 20



С целью избежания совпадения имён используемых функций, да и для более здравого подхода решил использовать namespace. Хочу посоветоваться с профами, правилен ли такой подход в JavaScript-ОП или я всё-таки чего-то недопонял:
Код
var imgpre = { // Namespace
    archive : {},
    getObject : function(id) {
        if (typeof this.archive[id] == "undefined") {
            this.archive[id] = new this.previewList(id);
        }
        return this.archive[id];
    }
};

imgpre.previewList = function(id) { // Constructor
    this.id = id;
}

imgpre.previewList.prototype = { // Prototype
    init : function() {
        alert(this.id);
    }
}


Инициализация в HTML-коде происходит с помощью imgpre.getObject('idSTR').init();
Что скажете, посоветует?


--------------------
PM MAIL ICQ   Вверх
Zeroglif
Дата 26.7.2007, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 644
Регистрация: 22.9.2005

Репутация: 28
Всего: 66



Цитата(Burrr @  26.7.2007,  18:48 Найти цитируемый пост)
правилен ли такой подход в JavaScript

Правилен. Дополнительно к этому можно оградить себя от глобального контекста, поместив исполняемый код в одну большую функцию. Это удобно, когда приходится объявлять много вспомогательных переменных...
PM MAIL WWW   Вверх
Burrr
Дата 27.7.2007, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 4.9.2005

Репутация: 10
Всего: 20



Цитата
Дополнительно к этому можно оградить себя от глобального контекста, поместив исполняемый код в одну большую функцию. Это удобно, когда приходится объявлять много вспомогательных переменных... 



Zeroglif, для этого я буду использовать конструктор, в котором объявлю большинство необходимых мне переменных, как свойства объекта, избежав таким образом использование глобальных переменных. Ты об этом?


--------------------
PM MAIL ICQ   Вверх
Zeroglif
Дата 27.7.2007, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 644
Регистрация: 22.9.2005

Репутация: 28
Всего: 66



Burrr

ты можешь весь код загнать в функцию, это даст дополнительную возможность безопасно объявлять переменные и декларировать функции. Если, конечно, они нужны:

Код

var Burrr = function() {
    //-> private variable
    var x = ' medved';
    //-> private function declaration
    function f() {
        return x;
    }
    //-> interface
    return { 
       m : function() { return (this.p + f()); }, 
       p : 'preved'
    }; 
}();

Burrr.m(); //-> preved medved


p.s. Ещё один плюс - это возможность несколько сократить код, подробнее...

Это сообщение отредактировал(а) Zeroglif - 29.7.2007, 15:56
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0534 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.