Aprender a utilizar la función de detección del tipo de seguridad avanzada

js tipo incorporado mecanismo de detección no es completamente fiable, tal operador typeof, cuarta edición Safari hasta que al expresión regular typeof devuelve operador la función de aplicación, es difícil determinar la función no es un valor en el extremo.

Otro ejemplo instanceof operador está también en una gran cantidad de problemas en la presencia de una pluralidad de ámbito global (como una página comprende una pluralidad de marco). tal como

let isArray = value instanceof Array;

El código anterior para volver verdadero, el valor debe ser una matriz, y debe ser el mismo, y un alcance constructor Array ópera. (Recuerde, Array es los atributos de ventana.) Si el valor de la matriz se define en otro marco uno, entonces el código anterior devolverá falso.

El método de resolver los problemas anteriores son los mismos. Como todos sabemos, llame a la nativa toString Objeto en cualquier devuelve el método de valor (un) [objeto NativeConstructorName] formato de cadena. Dentro de cada clase tiene una [[clase]] propiedad. En este atributo para especificar la configuración de la cadena de caracteres del nombre de la función.

alert(Object.prototype.toString.call(value));   //[object Array]

Desde el nombre del constructor y el juego sin tener en cuenta el alcance de la matriz original, utilizando así toString () para asegurar el valor constante cambio.

function isArray(value) {
    return Object.prototype.toString.call(value) == '[object Array]'
}


function isFunction(value) {
    return Object.prototype.toString.call(value) == '[object Function]'; } function isRegExp(value) { return Object.prototype.toString.call(value) == '[object RegExp]'; } 

detección Native objeto JSON. Objeto del método constructor toString () no puede detectar el nombre del constructor no nativo. Por lo tanto, ningún constructor se definen por el desarrollador será devuelto [Objeto objeto]

let isNativeJSON = window.JSON && Object.prototype.toString.call(JSON) == "[object JSON]"

Escanear código plus grupo, actualiza a diario una tecnología de front-end artículo para crecer juntos.

Supongo que te gusta

Origin www.cnblogs.com/bbqq1314/p/12545473.html
Recomendado
Clasificación