Heim >Web-Frontend >js-Tutorial >So ermitteln Sie, ob ein Objekt ein Array (eine Funktion) in js ist

So ermitteln Sie, ob ein Objekt ein Array (eine Funktion) in js ist

王林
王林nach vorne
2020-03-13 10:25:235857Durchsuche

So ermitteln Sie, ob ein Objekt ein Array (eine Funktion) in js ist

1. Typeof-Operator

Beispiel:

// 数值
typeof 37 === 'number';
  
// 字符串
typeof '' === 'string';
  
// 布尔值
typeof true === 'boolean';
  
// Symbols
typeof Symbol() === 'symbol';
  
// Undefined
typeof undefined === 'undefined';
  
// 对象
typeof {a: 1} === 'object';
typeof [1, 2, 4] === 'object';
  
// 下面的例子令人迷惑,非常危险,没有用处。避免使用它们。
typeof new Boolean(true) === 'object';
typeof new Number(1) === 'object';
typeof new String('abc') === 'object';
  
// 函数
typeof function() {} === 'function';

Aus dem obigen Beispiel können wir sehen, dass die Verwendung von typeof außer Array und Null als Objekt „Except“ beurteilt wird Dafür kann alles andere normal beurteilt werden.

(Empfohlenes Tutorial: Javascript-Tutorial)

2. Instanz des Operators und Konstruktorattribut des Objekts

Dieser Operator ähnelt in gewisser Weise dem objektorientierten in JavaScript-Beziehung. Um dies zu verstehen, müssen Sie zunächst die Objektorientierung in JavaScript verstehen. Denn dieser Operator erkennt, ob die Prototypkette des Objekts auf das Prototypobjekt des Konstruktors zeigt.

Beispiel:

So ermitteln Sie, ob ein Objekt ein Array (eine Funktion) in js ist

3. Verwenden Sie Object.prototype.toString, um festzustellen, ob es sich um eine Zahl handelt.

Object.prototype.toString.call( [] ) === '[object Array]' // true
  
Object.prototype.toString.call( function(){} ) === '[object Function]' // true

Verwenden Sie call Hier machen Sie dies in toString auf obj zeigen. Vervollständigen Sie dann die Beurteilung

4. Verwenden Sie die Prototypenkette, um die Beurteilung zu vervollständigen

[].__proto__ === Array.prototype // true
  
var fun = function(){}
fun.__proto__ === Function.prototype // true

5 Der Zweck von JavaScript besteht darin, genau zu erkennen, ob ein Wert ein Array ist. IE9+, Firefox 4+, Safari 5+, Opera 10.5+ und Chrome implementieren alle diese Methode. Versionen vor IE8 werden jedoch nicht unterstützt.

Empfohlene verwandte Video-Tutorials:

Javascript-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob ein Objekt ein Array (eine Funktion) in js ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:jb51.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen