Я хочу проверить script, если какой-либо другой модуль уже загружен.
if (ModuleName) {
// extend this module
}
Но если ModuleName не существует, то throw s.
Если бы я знал, что такое Global Object, я мог бы это использовать.
if (window.ModuleName) {
// extend this module
}
Но так как я хочу, чтобы мой модуль работал с обоими браузерами и node, rhino и т.д., я не могу предположить window.
Как я понимаю, это не работает в ES 5 с "use strict";
var MyGLOBAL = (function () {return this;}()); // MyGlobal becomes null
Это также приведет к сбою с созданным исключением
var MyGLOBAL = window || GLOBAL
Так кажется, что я остался с
try {
// Extend ModuleName
}
catch(ignore) {
}
Ни один из этих случаев не пройдет JSLint.
Я что-то пропустил?