最初に書かれた:
昨日、私は非常に簡単な質問に答えられなかったことがわかりました。たぶん、私はあまりにも緊張していて、愚かに泣いていると感じたからでしょう。後で私はそれについて考えました、そして、私はそれを慎重に記録するべきでした。革命はまだ成功しておらず、強くなるためにまだ行う必要があります!
1。JS6つの主要なデータ型
番号:数字、整数、浮動小数点数など。
文字列:説明する単一または二重引用符。
boolean:true and falseを返す、これらの2つの値は必ずしも1と0に対応しているわけではありません
オブジェクト:オブジェクト、新しいオペレーターを実行して、作成するオブジェクトタイプの名前を実行して作成できます。
null:論理的に言えば、null値は空のオブジェクトポインターを表す価値のあるデータ型は1つだけです。
未定義:未定義。変数がVARを使用して宣言されているが初期化されていない場合、変数の値は未定義です。
2。データ型判断のタイプ
TypeOFはほとんどのデータ型の判断を解決でき、その返品値は文字列であり、オペランドのタイプを示します。
//変数numが数値タイプであるかどうかを判断しますif(typeof num == 'number'){return true;}返品結果:
var a = "hling"; console.log(a); // stringvar a = 1; console.log(a); // numbervar a = false; console.log(a); // booleanvar a; console.log(typeof a); // undfinedvar a = null; console.log(typeof a); // objectVar a = document; console.log(typeof a); // objectVar a = []; console.log(a); // objectVar a = function(){}; console.log(typeof a)//関数データ型を決定することに加えて、関数タイプを決定することもできます4種類の文字列に加えて、数字、ブール、および未定義、null、オブジェクト、および配列はすべてのオブジェクトタイプを返します! ! !
関数タイプの場合、typeof(日付)、typeof(eval)など、関数が返されます。
3。JSアレイタイプを決定するメソッド
1)インスタンス
InstanceOFは、変数がオブジェクトのインスタンスであるかどうかを判断するために使用されます。三部作操作の式です。この演算子は、JavaScriptのオブジェクト指向と関係があります。これを理解するには、最初にJavaScriptでオブジェクト指向を理解する必要があります。この演算子は、オブジェクトのプロトタイプチェーンがコンストラクターのプロトタイプオブジェクトを指しているかどうかを検出するためです。
b?alert( "true"):alert( "false")// b値は判断したいデータ型であることに注意してください。
例:
var arr = [1,2,3,1];アラート(配列のarrインスタンス); // 真実
2)コンストラクター
W3Cの定義定義:コンストラクタープロパティは、このオブジェクトを作成した配列関数への参照を返します
var arr = []; arrのinstance of array; // true arr.constructor == array; // 真実
さまざまなタイプを判断する方法は次のとおりです。
console.log( "string" .constructor == string); console.log((123).constructor == number); console.log(false.constructor == boolean); console.log([]。constructor== array); console.log({} {}。一般的な方法:
function isArray(object){return object && typeof object === 'object' && array == object.constructor;}3)特徴的な判断
Object.isarray()を決定するために、目的は値が配列であるかどうかを正確に検出することです。 IE9+、Firefox 4+、Safari 5+、Opera 10.5+、およびChromeはすべてこの方法を実装します。ただし、IE8の前にはサポートされていません。
function isArray(object){return object && typeof object === 'object' && typeof object.length == 'number' && typeof object.splice === 'function' && //長さのプロパティが列挙されているかどうかを判断するだけで、falseが取得されます!4)object.prototype.tostring.call
object.prototype.tostring.call(value)== '[object array]'
JSデータ型の判断と配列の判断に関する上記の簡単な議論は、私があなたと共有するすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。