ホームページ  >  記事  >  ウェブフロントエンド  >  JSでの判定タイプ

JSでの判定タイプ

不言
不言オリジナル
2018-04-10 11:38:334073ブラウズ

この記事で共有する内容は、JS での型の判断に関するもので、必要な場合は参考にしてください。

JS での型を判断する方法は 4 つあります。1 つは、このメソッドです。ご存知のとおり、多くの型は決定できず、推奨されません。

2 番目、
コンストラクター: 各関数には自動的にプロトタイプ属性が設定されます。このプロパティはオブジェクトであり、このオブジェクトには唯一の列挙不可能なプロパティ コンストラクターが含まれています。コンストラクター属性の値は関数オブジェクトであり、この関数はコンストラクターです。

function Aaa(){};
var a1 = new Aaa();

a1.constructor はこのコンストラクターを指します
;

それで、それを使って型を判断することができます

var arr = [];

arr.constructor == Array このようにして、それが配列であるかどうかを判断することができ、他の型にも同じことが当てはまります


:オブジェクトとそのコンストラクターがプロトタイプ チェーン上にあるかどうかを判断します。

function Aaa(){};

o instanceof Array : o と Array がプロトタイプ チェーン上にあるかどうかを確認します。 o は Aaa コンストラクター インスタンスの下にあるため、 false になります。


o obj.prototype は、すべてのオブジェクトが obj.prototype を継承するため、 true になります。

toString() メソッドを使用します。 o);

o: これはオブジェクト インスタンスです。上記は '[Object Array]' 型の文字列を返します。要約すると、4 番目の一般的な方法が最も信頼性が高く、 2. 3 つの方法は通常は問題ありませんが、iframe がある場合は問題が発生します。JS で型を決定する方法は一般的に 4 つあります。1 つは、これです。

2 番目、

コンストラクター: 各関数は自動的にプロトタイプ属性を持ちます。このプロパティはオブジェクトであり、このオブジェクトには唯一の列挙不可能なプロパティ コンストラクターが含まれています。コンストラクター属性の値は関数オブジェクトであり、この関数はコンストラクターです。

function Aaa(){};
var a1 = new Aaa();

a1.constructor はこのコンストラクターを指します

;

それで、それを使って型を判断することができます


var arr = [];
arr.constructor == Array このようにして、それが配列であるかどうかを判断することができ、他の型にも同じことが当てはまります

:オブジェクトとそのコンストラクターがプロトタイプ チェーン上にあるかどうかを判断します。


function Aaa(){};

o instanceof Array : o と Array がプロトタイプ チェーン上にあるかどうかを確認します。 o は Aaa コンストラクター インスタンスの下にあるため、 false になります。

o obj.prototype は true になります。すべてのオブジェクトが obj.prototype を継承するためです。

four、
toString() メソッドを使用します。 o);

o: これはオブジェクト インスタンスです。上記は '[Object Array]' 型の文字列を返します。要約すると、4 番目の一般的な方法が最も信頼性が高く、 2 つ、3 つの方法は通常問題ありませんが、iframe がある場合は問題が発生します。1 つは最も信頼性が低くなります


js は PC かモバイル端末かを判断します


jsはPC版かモバイル版かを決定します

以上がJSでの判定タイプの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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