tipo de tono
Cuando el tipo de tipoF se usa con más frecuencia, es para determinar si una variable global está presente, si una página define una variable global. Si haces el siguiente juicio:
// Harooms es una variable global if (harooms! = Undefined) {} // js informará un error que dice "referenceSror no capturado: Haraoms no está definido"La solución es escribir de la siguiente manera:
if (typeof haorooms! = Undefined) {}Después de usar TypeOf, ¡no habrá error! ¡Esta es una de las aplicaciones de tipo!
¡Además, TypeOF también puede emitir juicios sobre los tipos de datos! como sigue:
var harooms = "cadena"; console.log (harooms); // stringvar haraoms = 1; console.log (harooms); // numberVar haraoms = false; console.log (harooms); // booleanvar harooms; console.log (typeof herooms); // UndfinedVar Harooms = NULL; console.log (typeof herooms); // ObjectVar Haraoms = documento; console.log (typeof herooms); // ObjectVar Haraoms = []; console.log (harooms); // ObjectVar Haraoms = function () {}; console.log (typeof harooms) // función Además de juzgar los tipos de datos, también puede juzgar los tipos de funcionesObviamente, para el tipof, excepto los primeros cuatro tipos, NULL, Object y Array Devuelve todos los tipos de objetos;
instancia de
Se puede usar para determinar si es una matriz.
var harooms = []; console.log (herooms instancef array) // return true
constructor
El constructor es el constructor que devuelve el constructor correspondiente del objeto.
Cómo juzgar varios tipos de datos:
console.log([].constructor == Array);console.log({}.constructor == Object);console.log("string".constructor == String);console.log((123).constructor == Number);console.log(true.constructor == Boolean);function employee(name,job,born){ this.name=name; this.job = trabajo; this.born = nacido; } var haorooms = nuevo empleado ("Bill Gates", "Ingeniero", 1985); console.log (harooms.constructor); // Función de salida Empleado (nombre, Jobtitle, Born) {this.name = name; this.Jobtitle = Job; this.born = nacido;}Al emitir Haorooms.Constructor, se puede ver que el constructor devuelve el constructor correspondiente al objeto.
Object.prototype.ToString
Mencionamos anteriormente que podemos usar el atributo Constructor para determinar el tipo de objeto. Hablemos sobre el método object.protype.tostring.
Objeto.prototype.ToString.Aply ({}) // "[Object Object]" Object.Prototype.ToString.Aply ([]) // "[Object Array]" Object.Protype.ToString.Aply (Nan) // "[Número de objeto]" Object.Protype.ToString.Apply (function () {{}) // "Usando este método, podemos juzgar correctamente el patrón básico de una variable, pero si es un tipo personalizado, no podemos conocer el tipo real, porque el resultado seguirá siendo [objeto de objeto]
otro
jQuery también tiene un método de juicio de tipo, el siguiente es un ejemplo
$ .iswindow (ventana) // Verdadero
Cómo hacerlo
Core.js#479Iswindow: function (obj) {return obj! = null && obj == obj.window;}Así que abre un objeto como este:
var falswindow; falsewindow = {}; falsewindow.window = falsewindow; $. iswindow (falsewindow) // trueLe mentiste.
resumen
En JavaScript, debe juzgar correctamente los tipos. Cuando los estudias cuidadosamente, es realmente problemático. Es muy importante diseñar su juicio de acuerdo con diferentes situaciones. También debemos pensar en cómo juzgar el tipo correcto de la manera más simple. Por supuesto, todavía hay muchas cosas que no se han introducido en este artículo. Por ejemplo, el método ISPrototypeOF. JavaScript es un idioma con muchas cargas históricas, pero también está mejorando constantemente. Al usarlo, debe prestar atención a demasiadas formas de cuchillas de doble cara. Recuerda usarlos cuidadosamente.