jsでオブジェクトが配列(関数)であるかどうかを判断する方法

王林
リリース: 2020-03-13 10:25:23
転載
5746 人が閲覧しました

jsでオブジェクトが配列(関数)であるかどうかを判断する方法

1. typeof 演算子

例:

// 数值 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';
ログイン後にコピー

上記の例から、配列と null を除く typeof の使用はオブジェクト Except として判断されることがわかります。このため、他のすべては通常どおりに判断できます。

(推奨チュートリアル:javascript チュートリアル)

2. オブジェクトのinstanceof演算子とコンストラクター属性

この演算子は、オブジェクト指向と多少似ています。 JavaScript の関係。これを理解するには、まず JavaScript のオブジェクト指向を理解する必要があります。この演算子は、オブジェクトのプロトタイプ チェーンがコンストラクターのプロトタイプ オブジェクトを指しているかどうかを検出するためです。

例:

jsでオブジェクトが配列(関数)であるかどうかを判断する方法

3. Object.prototype.toString を使用して、数値かどうかを判断します

Object.prototype.toString.call( [] ) === '[object Array]' // true Object.prototype.toString.call( function(){} ) === '[object Function]' // true
ログイン後にコピー

呼び出しを使用します。ここで toString 内のこれを obj を指すようにします。次に、判定を完了します

4。プロトタイプ チェーンを使用して判定を完了します

[].__proto__ === Array.prototype // true var fun = function(){} fun.__proto__ === Function.prototype // true
ログイン後にコピー

5。Array.isArray()

Array.isArray([]) // true
ログイン後にコピー

ECMAScript5 では、Array.isArray() を正式に導入します。 JavaScript 目的 値が配列であるかどうかを正確に検出することです。 IE9、Firefox 4、Safari 5、Opera 10.5、および Chrome はすべてこのメソッドを実装しています。ただし、IE8 より前のバージョンはサポートされていません。

推奨される関連ビデオ チュートリアル:JavaScript ビデオ チュートリアル

以上がjsでオブジェクトが配列(関数)であるかどうかを判断する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:jb51.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!