Definindo uma versão independente de implementação do objeto global em JavaScript

Estou tentando definir oglobal objeto em JavaScript em uma única linha da seguinte maneira:

var global = this.global || this;

A declaração acima está no escopo global. Portanto, nos navegadores, othis ponteiro é um alias para owindow objeto. Supondo que seja a primeira linha de JavaScript a ser executada no contexto da página da web atual, o valor deglobal sempre será o mesmo que othis ponteiro ou owindow objeto.

Nas implementações do CommonJS, como RingoJS e node.js, othis apontador aponta para o @ atuModuleScope. No entanto, podemos acessar oglobal objeto através da propriedadeglobal definido noModuleScope. Portanto, podemos acessá-lo através dothis.global propriedade.

Portanto, esse trecho de código funciona em todos os navegadores e, pelo menos, no RingoJS e no node.js, mas eu não testei outras implementações do CommomJS. Portanto, gostaria de saber se esse código não produzirá resultados corretos quando executado em qualquer outra implementação do CommonJS e, em caso afirmativo, como posso corrigi-l

ventualmente, pretendo usá-lo em uma expressão lambda para minha estrutura JavaScript independente de implementação da seguinte maneira (idéia do jQuery

(function (global) {
    // javascript framework
})(this.global || this);

questionAnswers(3)

yourAnswerToTheQuestion