ホームページ > 記事 > ウェブフロントエンド > 変数が JS の配列、関数、またはオブジェクトであるかどうかを判断する方法のコードの説明
Array
ECMAScript5 の Array.isArray は、配列を判定するためのネイティブ メソッドであり、IE9 以降でサポートされています。互換性の理由から、このメソッドを持たないブラウザでは、代わりに Object.prototype.toString.call(obj) === '[object Array]' を使用できます。
var isArray = Array.isArray || function(obj) { return Object.prototype.toString.call(obj) === '[object Array]'; }
JQ は、配列内の指定された値を検索し、そのインデックスを返す関数 jQuery.inArray(value, array) をカプセル化します (見つからない場合は -1 を返します)。
value 検索する値。 array 検索する配列。
function inArray1(needle,array,bool){ if(typeof needle=="string"||typeof needle=="number"){ for(var i in array){ if(needle===array[i]){ if(bool){ return i; } return true; } } return false; } }
Function
最も単純で最もパフォーマンスの高い方法は、typeof obj == 'function' です。ブラウザの一部のバージョンのバグを考慮すると、最も信頼できるメソッドは Object.prototype.toString.call(obj) === '[object Function]' です。
var isFunction = function(obj) { return Object.prototype.toString.call(obj) === '[object Function]'; } if(typeof /./ != 'function' && typeof Int8Array != 'object') { isFunction = function(obj) { return typeof obj == 'function'; } }
オブジェクト
JavaScript では、複合型はオブジェクトであり、関数もオブジェクトです。上記の 2 つに typeof を使用すると、それぞれ「オブジェクト」と「関数」を取得できます。さらに、typeof null も「object」を返すため、null 値は除外する必要があります。
りー以上が変数が JS の配列、関数、またはオブジェクトであるかどうかを判断する方法のコードの説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。