ホームページ  >  記事  >  ウェブフロントエンド  >  変数が JS の配列、関数、またはオブジェクトであるかどうかを判断する方法のコードの説明

変数が JS の配列、関数、またはオブジェクトであるかどうかを判断する方法のコードの説明

伊谢尔伦
伊谢尔伦オリジナル
2017-07-18 11:31:001106ブラウズ

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 サイトの他の関連記事を参照してください。

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