1. typeof
- Puede determinar el tipo de datos, devuelve una cadena que representa el tipo de datos (el resultado devuelto solo puede incluir número, booleano, cadena, función, objeto, indefinido);
- Puede usar typeof para determinar si existe una variable (como if (typeof a! = "Undefined") {...});
- El problema con el operador Typeof es que devuelve el objeto sin importar de qué tipo sea el objeto referenciado
typeof {} // object typeof [1,2] // object typeof / \ s / // object
2.instancia de
El principio es porque una instancia de B puede determinar si A es una instancia de B y devuelve un valor booleano. El tipo de datos viene determinado por el tipo de construcción.
console.log (arr instanceof Array); // true console.log (date instanceof Date); // true console.log (fn instanceof Function); // true // Nota: la instancia de debe ir seguida del tipo de objeto, no del caso Incorrecto, este método intenta alguna selección condicional o rama
3. Juzgue por el método toString.call () en Object
Object.prototype.toString.call (); console.log (toString.call ( 123)); // [Número de objeto] console.log (toString.call ('123')); // [Cadena de objetos] console.log (toString.call (undefined)); // [objeto no definido] console.log (toString.call ( true )); // [objeto booleano] console.log (toString.call ({})); // [objeto Objeto] console.log (toString.call ([])); // [matriz de objetos] console.log (toString.call ( function () {})); // [función de objeto]
4. A juzgar por el constructor del objeto.
console.log ('数据 类型 判断' - constructor); console.log (arr.constructor === Array); // true console.log (date.constructor === Date); // true console.log (fn.constructor === Function); // verdadero
5. Método JQ para determinar el tipo de datos
jQuery proporciona una serie de métodos de herramienta para determinar el tipo de datos para compensar las deficiencias del operador typeof nativo de JavaScript. El siguiente método juzga el parámetro y devuelve un valor booleano.
jQuery.isArray (); si es una matriz
jQuery.isEmptyObject (); si es un objeto vacío (sin propiedades enumerables).
jQuery.isFunction (): si es una función
jQuery.isNumberic (): si es un número
jQuery.isPlainObject (): si es un objeto generado usando "{}" o "nuevo Objeto", no un objeto provisto de forma nativa por el navegador.
jQuery.isWindow (): si es un objeto de ventana;
jQuery.isXMLDoc (): determina si un nodo DOM está en un documento XML.
jQuery.isArray (); si es una matriz
jQuery.isEmptyObject (); si es un objeto vacío (sin propiedades enumerables).
jQuery.isFunction (): si es una función
jQuery.isNumberic (): si es un número
jQuery.isPlainObject (): si es un objeto generado usando "{}" o "nuevo Objeto", no un objeto provisto de forma nativa por el navegador.
jQuery.isWindow (): si es un objeto de ventana;
jQuery.isXMLDoc (): determina si un nodo DOM está en un documento XML.
Autor: 8d2855a6c5d0
enlace: https: //www.jianshu.com/p/967d6db70437
Fuente: libros de Jane