Показать сообщение отдельно
  #12 (permalink)  
Старый 30.04.2014, 11:57
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Ну, обычно хватает:

(function (global) {
})(this);


В окне и потоке this - это будет ссылка на глобальный объект.

В окружении ноды this - это ссылка на exports, а доступ к глобальному объекту доступен через ссылку global, но при написании модулей как правило нужен именно exports.

В node-webkit насколько мне известно вcё также, как и в окне браузера.

Варианты для логического определения:
var isWorker = typeof window === 'undefined' && typeof importScripts !== 'undefined';
var isNode = typeof window === 'undefined' && typeof global !== 'undefined';


Это не 100% гарантия, ибо в той же ноде можно сделать:

global.window = {};


И всё сломается, но тот, кто так делает - сам виноват
__________________
kobezzza
code monkey
Ответить с цитированием