データ型-あなたをマスターすれば無敵です!
2404 ワード
基本的なデータ型基本的なデータ型は、
参照データ型jsの参照データ型は、Object、array、function、dataなどのオブジェクト型
どのように区別するか
1.typeofオペレータを使用します.
(1)undefined:この値が定義されていない場合
(2)boolean:この値がブール値の場合
(3)string:この値が文字列の場合
(4)number:この値が数値の場合
(5)object:この値がオブジェクトまたはnullの場合
(6)function:この値が関数である場合
注意:typeofは配列かどうかを判断するのに適していません.typeofを使用して配列とオブジェクトを判断するとobjectが返されます.
2. instanceof
instanceof演算子は、1つのコンストラクション関数のprototype属性が指すオブジェクトに、別の検出対象のプロトタイプチェーンがあるかどうかを判断するために使用されます.大文字と小文字を区別する必要があります.
簡単に言えば、instanceofは、変数がオブジェクトのインスタンスであるかどうかを判断するために使用されます.
注意すべきは、instanceofはオブジェクトや関数の判断にのみ使用され、文字列や数字などの判断には使用されません.文字列と数値かどうかを判断するとfalseのみが返されます
3. constructor
constructorプロパティは、このオブジェクトを作成する配列関数の参照を返します.
JavaScriptでは、プロトタイプを持つオブジェクトごとに
以下のコードの[native code]は、JavaScriptの最下位の内部コード実装であり、コードの詳細を表示できないことを示しています.
//Stringvar str=「文字列」;alert(str.constructor);//function String() { [native code] }alert(str.constructor === String);//true//Arrayvar arr = [1, 2, 3];alert(arr.constructor);//function Array() { [native code] }alert(arr.constructor === Array);//true//Numbervar num = 5;alert(num.constructor);//function Number() { [native code] }alert(num.constructor === Number);//true
4、prototype
以上の3つの方法は多少判断できない場合があります.互換性を確保するために、Objectを通過することができる.prototype.toStringメソッドでは、オブジェクト値がどの組み込みタイプに属するかを判断します.
大文字と小文字の区別に注意が必要です.
alert(Object.prototype.toString.call("文字列")=="[object String])---->true;alert(Object.prototype.toString.call(123) === ‘[object Number]’) -------> true;alert(Object.prototype.toString.call([1,2,3]) === ‘[object Array]’) -------> true;alert(Object.prototype.toString.call(new Date()) === ‘[object Date]’) -------> true;alert(Object.prototype.toString.call(function a(){}) === ‘[object Function]’) -------> true;alert(Object.prototype.toString.call({}) === ‘[object Object]’) -------> true;
編集者は容易ではありません.もし収穫があれば、微信賞の編集者はワハハを飲みます.
独身犬の葵花宝典、妹をからかうには必ず注目してください!
undefined,boolean,number,string,null
基本的なタイプのアクセスが値によってアクセスされていることです.つまり、変数に保存されている実際の値を操作することができます.参照データ型jsの参照データ型は、Object、array、function、dataなどのオブジェクト型
Object
である.どのように区別するか
1.typeofオペレータを使用します.
(1)undefined:この値が定義されていない場合
(2)boolean:この値がブール値の場合
(3)string:この値が文字列の場合
(4)number:この値が数値の場合
(5)object:この値がオブジェクトまたはnullの場合
(6)function:この値が関数である場合
注意:typeofは配列かどうかを判断するのに適していません.typeofを使用して配列とオブジェクトを判断するとobjectが返されます.
isArray() 。
var str=""
var str1=typeof(str);
console.log(str1)//"string"
2. instanceof
instanceof演算子は、1つのコンストラクション関数のprototype属性が指すオブジェクトに、別の検出対象のプロトタイプチェーンがあるかどうかを判断するために使用されます.大文字と小文字を区別する必要があります.
簡単に言えば、instanceofは、変数がオブジェクトのインスタンスであるかどうかを判断するために使用されます.
var arr = new Array( );
console.log(arr instanceof Array);// true
注意すべきは、instanceofはオブジェクトや関数の判断にのみ使用され、文字列や数字などの判断には使用されません.文字列と数値かどうかを判断するとfalseのみが返されます
3. constructor
constructorプロパティは、このオブジェクトを作成する配列関数の参照を返します.
JavaScriptでは、プロトタイプを持つオブジェクトごとに
constructor
のプロパティが自動的に取得されます.以下のコードの[native code]は、JavaScriptの最下位の内部コード実装であり、コードの詳細を表示できないことを示しています.
//Stringvar str=「文字列」;alert(str.constructor);//function String() { [native code] }alert(str.constructor === String);//true//Arrayvar arr = [1, 2, 3];alert(arr.constructor);//function Array() { [native code] }alert(arr.constructor === Array);//true//Numbervar num = 5;alert(num.constructor);//function Number() { [native code] }alert(num.constructor === Number);//true
4、prototype
以上の3つの方法は多少判断できない場合があります.互換性を確保するために、Objectを通過することができる.prototype.toStringメソッドでは、オブジェクト値がどの組み込みタイプに属するかを判断します.
大文字と小文字の区別に注意が必要です.
alert(Object.prototype.toString.call("文字列")=="[object String])---->true;alert(Object.prototype.toString.call(123) === ‘[object Number]’) -------> true;alert(Object.prototype.toString.call([1,2,3]) === ‘[object Array]’) -------> true;alert(Object.prototype.toString.call(new Date()) === ‘[object Date]’) -------> true;alert(Object.prototype.toString.call(function a(){}) === ‘[object Function]’) -------> true;alert(Object.prototype.toString.call({}) === ‘[object Object]’) -------> true;
編集者は容易ではありません.もし収穫があれば、微信賞の編集者はワハハを飲みます.
独身犬の葵花宝典、妹をからかうには必ず注目してください!