Prefácio
Vamos resumir o JavaScript Syntax Açúcar com o qual entrei em contato recentemente e compartilhe -o com você.
Cada peça de doces tem instruções e exemplos detalhados, então não vou dizer muito.
Verificação precisa do tipo
A cópia do código é a seguinte:
/*
* @Function:
* Digite Exemplo de verificação
* Este método permite verificar se uma variável é o tipo de dados esperado
* @params:
* Variáveis OBJ que precisam ser verificadas, exigidas
* Config Data Type Whitelist, Opcional, Padrão para todos os tipos
* @retornar:
* Verdade
* @Examples:
* TypeCheck ("str"); // retorna verdadeiro
* TypeCheck ({}, {"[objeto Array]": 1}); // retorna false
*/
função typecheck (obj, config) {
var hASOP = object.prototype.HasownProperty,
tostr = object.prototype.ToString,
_config = config || {
"[objeto objeto]": 1,
"[Array de objeto]": 1,
"[objeto regex]": 1,
"[objeto string]": 1,
"[Número do objeto]": 1,
"[objeto booleano]": 1,
"[função do objeto]": 1,
"[Objeto indefinido]": 1,
"[objeto nulo]": 1
};
return hasop.call (_config, tostr.call (obj));
}
Maneira elegante de adicionar protótipos
A cópia do código é a seguinte:
/*
* @descrição:
* Maneira elegante de adicionar protótipos
* Basta executar este snippet de código no escopo do público
*/
if (typeof function.prototype.method! == "function") {
Function.prototype.method = function (nome, fn) {
this.prototype [nome] = fn;
devolver isso;
};
}
/*
* Exemplo de uso
*/
// Defina uma "classe de teste"
função testfn () {
}
// Adicione um método de membro da classe de teste
testfn.method ("add", função (a, b) {
retornar a + b;
}). Método ("sub", função (a, b) {
retornar a - b;
});
// Instanciação
var testObj = new Testfn ();
// Chamando o método do membro
testobj.add (1,5); // retorna 6
testobj.sub (7,2); // retorna 5
Crie rapidamente um espaço para nome
A cópia do código é a seguinte:
/*
* @Function:
* Crie um espaço para nome
* @params:
* Expressão de namespace ex, por exemplo: nsroot.service.impl
* Esta expressão deve começar no nó raiz
* @retornar:
* Retorna um objeto, que é o último nó da expressão
* @outros:
* Se você não gosta do nome nsroot, basta procurar a substituição
*/
var nsroot = nsroot || {};
Nsroot.namespace = function (ex) {
var _ex = ex || "",
nsarray = _ex.split ("."),
parentnode = nsroot,
_s = "",
i = 0;
// julga se o espaço para nome começa no nó raiz
if (nsarray [0]! == "nsroot") {
lançar ("O espaço para nome deve começar no nó raiz!");
}
// Remova o nó raiz
nsarray = nsarray.slice (1);
for (i = 0; i <nsarray.length; i ++) {
_s = nsarray [i];
if (parentnode [_s] === indefinido) {
parentnode [_s] = {};
}
parentNode = parentNode [_s];
}
return parelernode;
};
/*
* Exemplo de uso
*/
// Crie um novo espaço para nome
var impl = nsroot.namespace ("nsroot.service.impl");
alerta (implic === nsroot.service.impl); // retorna verdadeiro
// Crie um espaço para nome existente sem substituir os dados originais
Nsroot.namespace ("nsroot.service.impl");
alerta (implic === nsroot.service.impl); // retorna verdadeiro