typeof
Quando o tipo de é usado com mais frequência, é para determinar se uma variável global está presente, se uma página define uma variável global. Se você fizer o seguinte julgamento:
// harooms é uma variável global se (Harooms! = indefinido) {} // js relatará um erro dizendo "ReferenceError não capturado: Harooms não está definido"A solução é escrever o seguinte:
if (typeof haorooms! = indefinido) {}Depois de usar o TypeOf, não haverá erro! Este é um dos tipos de aplicativos!
Além disso, o TypeOF também pode fazer julgamentos nos tipos de dados! do seguinte modo:
var harooms = "string"; console.log (Harooms); // stringvar Harooms = 1; console.log (Harooms); // numbervar Harooms = false; console.log (Harooms); // booleanvar Harooms; console.log (typeof Harooms); // UNLFINEDVAR HAROOMS = NULL; console.log (typeof Harooms); // objectvar Harooms = document; console.log (typeof Harooms); // objectvar Harooms = []; console.log (Harooms); // objectvar Harooms = function () {}; Console.log (Typeof Harooms) // Função Além de julgar os tipos de dados, você também pode julgar os tipos de funçãoObviamente, para o tipo de, exceto os quatro primeiros tipos, nulo, objeto e matriz retornar todos os tipos de objetos;
Instância de
Pode ser usado para determinar se é uma matriz.
var harooms = []; console.log (harooms instayof Array) // retorna true true
construtor
O construtor é o construtor que retorna o construtor correspondente do objeto.
Como julgar vários tipos de dados:
console.log ([]. construtor == Array); console.log ({}. construtor == object); console.log ("string" .constructor == string); console.log ((123) .Constructor == Número); Console.Log (True.Censtructor == boolean); this.Job = Job; this.born = nascido; } var haorooms = novo funcionário ("Bill Gates", "Engineer", 1985); console.log (harooms.constructor); // Função de saída funcionário (nome, jobtitle, nascido) {this.name = name; this.jobtitle = job; this.born = Born;}Ao produzir haorooms.Constructor, pode -se ver que o construtor retorna o construtor correspondente ao objeto.
Object.prototype.ToString
Mencionamos anteriormente que podemos usar o atributo construtor para determinar o tipo de objeto. Vamos falar sobre o objeto.protype.ToString Method.
Object.prototype.toString.apply({}) // "[object Object]"Object.prototype.toString.apply([]) // "[object Array]"Object.prototype.toString.apply(NaN)// "[object Number]"Object.prototype.toString.apply(function(){}) // "[object Function]"Usando esse método, podemos julgar corretamente o padrão básico de uma variável, mas se for um tipo personalizado, não podemos saber o tipo real, porque o resultado ainda será [objeto de objeto]
outro
JQuery também tem um método de julgamento de tipo, o seguinte é um exemplo
$ .iswindow (janela) // true
Como fazer isso
core.js#479isWindow: function (obj) {return obj! = null && obj == obj.window;}Então abra um objeto como este:
var falsowindow; falsowindow = {}; falsowindow.window = falsowindow; $.Você mentiu para ele.
resumo
No JavaScript, você deve julgar corretamente os tipos. Quando você os estuda com cuidado, é realmente problemático. É muito importante projetar seu julgamento de acordo com diferentes situações. Também devemos pensar em como julgar o tipo correto da maneira mais simples. Obviamente, ainda existem muitas coisas que não foram introduzidas neste artigo. Por exemplo, o método ISPrototyOF. O JavaScript é um idioma com muitos encargos históricos, mas também está constantemente melhorando. Ao usá-lo, você deve prestar atenção em muitas maneiras de lâminas de dupla face. Lembre -se de usá -los com cuidado.