ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript型判定コード解析_JavaScriptスキル

JavaScript型判定コード解析_JavaScriptスキル

WBOY
WBOYオリジナル
2016-05-16 18:31:07846ブラウズ
コードをコピー コードは次のとおりです:

var is = function(obj,type){
var toString =Object.prototype.toString,unknown;
return obj===null&&type==='Null'||
obj===unknown&&type==='Unknown'|| call(obj ).slice(8,-1)===type;
}
//元のテキストでは、各論理 AND 演算を括弧で囲んでいますが、演算子の優先順位に従って括弧を使用できます。省略されます
// 最初の行は、unknown を宣言しています。私の個人的な理解は、ECMA の説明によると、パフォーマンスを向上させ、最上位スコープでの unknown のクエリを回避することです。 262、 Object.prototype.toString() は、オブジェクト インスタンスのタイプを返し、「[object "、class、および "]" 形式の文字列を返します。」
したがって、スライスを通じて「クラス」値をインターセプトします。これは型値です。
例外は、IE
標準ブラウザ [object Window] で
[object Object] を返すため、null および未定義です。
したがって、別途判断してください。
関連記事:
JavaScript ディープコピー
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。