¿Cómo obtener el objeto global en JavaScript?

Quiero verificar en un script si un cierto otro módulo ya está cargado.

if (ModuleName) {
    // extend this module
}

Pero siModuleName no existe esothrows.

Si supiera lo que elGlobal Object fue que podría usar eso.

if (window.ModuleName) {
    // extend this module
}

Pero dado que quiero que mi módulo funcione con navegadores ynode, rhino, etc., no puedo asumirwindow.

Según tengo entendido, esto no funciona en ES 5 con"use strict";

var MyGLOBAL = (function () {return this;}()); // MyGlobal becomes null

Esto también fallará con una excepción lanzada

var MyGLOBAL = window || GLOBAL

Entonces parece que me queda

try {
    // Extend ModuleName
} 
catch(ignore) {
}

Ninguno de estos casos pasará JSLint.

¿Me estoy perdiendo algo?

Respuestas a la pregunta(5)

Su respuesta a la pregunta