Prefacio
Resumamos el azúcar de sintaxis JavaScript con el que he entrado en contacto recientemente y compartirlo con usted.
Cada pieza de dulces tiene instrucciones y ejemplos detallados, por lo que no diré mucho.
Cheque de tipo preciso
La copia del código es la siguiente:
/*
* @función:
* Tipo de ejemplo de verificación
* Este método le permite verificar si una variable es el tipo de datos esperado
* @params:
* Variables OBJ que deben verificarse, requeridas
* Configuración de datos de datos WhitList, Opcional, predeterminado a todos los tipos
* @devolver:
* Verdadero significa que se pasa el cheque, falso fallido
* @examples:
* typecheck ("str"); // devolver verdadero
* typecheck ({}, {"[Array de objetos]": 1}); // devolver falso
*/
función typecheck (obj, config) {
var hasop = object.prototype.hasownproperty,
toStr = object.prototype.ToString,
_config = config || {
"[objeto objeto]": 1,
"[matriz de objetos]": 1,
"[Object Regex]": 1,
"[Cadena de objeto]": 1,
"[Número de objeto]": 1,
"[Object Boolean]": 1,
"[función de objeto]": 1,
"[Objeto indefinido]": 1,
"[Objeto nulo]": 1
};
return haseop.call (_config, toStr.call (obj));
}
Forma elegante de agregar prototipos
La copia del código es la siguiente:
/*
* @descripción:
* Forma elegante de agregar prototipos
* Simplemente ejecute este fragmento de código en el alcance público
*/
if (typeof function.prototype.method! == "función") {
Function.prototype.method = function (name, fn) {
this.prototype [name] = fn;
devolver esto;
};
}
/*
* Ejemplo de uso
*/
// Defina una "clase de prueba"
función testfn () {
}
// Agregar un método de miembro de la clase de prueba
testfn.method ("agregar", función (a, b) {
devolver a + b;
}). Método ("sub", función (a, b) {
devolver a - b;
});
// Instanciación
var testObj = new testfn ();
// Método del miembro llamando
testobj.add (1,5); // devolver 6
testobj.sub (7,2); // devolver 5
Crear rápidamente un espacio de nombres
La copia del código es la siguiente:
/*
* @función:
* Crear un espacio de nombres
* @params:
* Expresión del espacio de nombres, por ejemplo: nsroot.service.Impl
* Esta expresión debe comenzar desde el nodo raíz
* @devolver:
* Devuelve un objeto, que es el último nodo de la expresión
* @otros:
* Si no le gusta el nombre nsroot, simplemente busque el reemplazo
*/
var nsroot = nsroot || {};
Nsroot.namespace = function (ex) {
var _ex = ex || "",
nsArray = _Ex.split ("."),
parentNode = nsroot,
_s = "",
i = 0;
// juzga si el espacio de nombres comienza desde el nodo raíz
if (nsArray [0]! == "nsroot") {
tirar ("¡El espacio de nombres debe comenzar desde el nodo raíz!");
}
// Eliminar el nodo raíz
nsArray = nsArray.slice (1);
para (i = 0; i <nsArray.length; i ++) {
_s = nsArray [i];
if (parentNode [_s] === Undefined) {
parentNode [_s] = {};
}
parentNode = parentNode [_s];
}
devolver parentnode;
};
/*
* Ejemplo de uso
*/
// crear un nuevo espacio de nombres
var impl = nsroot.namespace ("nsroot.service.impl");
alerta (impl === nsroot.service.impl); // devolver verdadero
// Crear un espacio de nombres existente sin sobrescribir los datos originales
Nsroot.namespace ("nsroot.service.impl");
alerta (impl === nsroot.service.impl); // devolver verdadero