ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript_javascript スキルで変数が配列、関数、またはオブジェクト型であるかどうかを判断するメソッド

JavaScript_javascript スキルで変数が配列、関数、またはオブジェクト型であるかどうかを判断するメソッド

WBOY
WBOYオリジナル
2016-05-16 16:13:151028ブラウズ

配列

ECMAScript5 の Array.isArray は、IE9 以降でサポートされる、配列を判定するためのネイティブ メソッドです。互換性の理由から、このメソッドを持たないブラウザでは、代わりに Object.prototype.toString.call(obj) === '[object Array]' を使用できます。

コードをコピーします コードは次のとおりです:

var isArray = Array.isArray || 関数(obj) {
戻り値 Object.prototype.toString.call(obj) === '[オブジェクト配列]';
}

関数

最も単純で最もパフォーマンスの高いメソッドは、typeof obj == 'function' です。ブラウザの一部のバージョンのバグを考慮すると、最も信頼できるメソッドは Object.prototype.toString.call(obj) === '[object Function]' です。

コードをコピーします コードは次のとおりです:

var isFunction = function(obj) {
Return Object.prototype.toString.call(obj) === '[オブジェクト関数]';
}
if(typeof /./ != '関数' && typeof Int8Array != 'オブジェクト') {
isFunction = function(obj) {
return typeof obj == '関数';
}
}

オブジェクト

JavaScript では、複合型はオブジェクトであり、関数もオブジェクトです。上記の 2 つに typeof を使用すると、それぞれ「オブジェクト」と「関数」を取得できます。さらに、typeof null も「object」を返すため、null 値は除外する必要があります。

コードをコピーします コードは次のとおりです:

var isObject = function(obj) {
var type = typeof obj;
戻り値の型 === '関数' || 型 === 'オブジェクト' && !!obj;
}

以上がこの記事の全内容です。皆さんに気に入っていただければ幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。