it-swarm-pt.tech

O que se entende por 'JavaScript Namespacing'?

Possível duplicado:
Espaço para nome Javascript

Eu sou muito novo em JavaScript e queria saber se alguém poderia me dar uma boa descrição do que se entende por JavaScript Namespacing?

Também quaisquer recursos, por exemplo artigos etc, são muito apreciados no assunto.

25
bc17

O JavaScript é projetado de tal maneira que é muito fácil criar variáveis ​​globais com potencial para interagir de maneira negativa. A prática do namespacing geralmente é criar um objeto literal encapsulando suas próprias funções e variáveis, para não colidir com os criados por outras bibliotecas:

var MyApplication = {
  var1: someval,
  var2: someval,
  myFunc: function() {
    // do stuff
  }
};

Então, em vez de chamar myFunc() globalmente, sempre seria chamado como:

MyApplication.myFunc();

Da mesma forma, var1 Sempre acessado como:

console.log(MyApplication.var1);

Neste exemplo, todo o código de nosso aplicativo foi colocado em namespace dentro de MyApplication. Portanto, é muito menos provável que nossas variáveis ​​colidam com as criadas por outras bibliotecas ou criadas pelo DOM.

39
Michael Berkowski

Para uma execução rápida (incluindo técnicas), leia isto:

Namespacing em JavaScript

8
Justin Niessner

Eu uso essa técnica de namespacing, junto com "use strict" descrito por Crockford

var MyNamespace = (function () {
    "use strict"; 

    function SomeOtherFunction() {

    }

    function Page_Load() {

    }

    return { //Expose 
        Page_Load: Page_Load,
        SomeOtherFunction: SomeOtherFunction
    };
} ());

MyNamespace.Page_Load();
6
CaffGeek

Leia um tutorial simples Aqui

O namespacing é usado para evitar poluir o namespace global (sem janela. Variáveis). Na verdade, cada espaço para nome é apenas uma grande variável, que possui muitas propriedades e métodos.

Isso acontece, porque em javascript você pode ter funções inteiras (métodos) como variáveis

2
Mihalis Bagos