JavaScript-データタイプ変換
6836 ワード
データタイプ変換とは?は、一つのデータタイプを他のデータタイプに変換する. 例えば、NumberタイプをBooleanタイプに変換する は、例えば、Numberタイプを文字列タイプ に変換する.… 他のタイプを文字列に変換
1、変換されたデータタイプのtoStringを呼び出す()方法 nullとundefinedの2つの値はtoString()の方法がないので、彼らの方法を呼び出したら をエラーします.この方法は元の変数に影響を与えず、変換の結果を に返す.数値タイプのtoString()は、1つのパラメータを持って、対応する進数の値 を出力することができます. String()関数の存在意義: いくつかの値はString()がないので、このときはString()が使えます.例えば、undefinedとnull NumberとBooleanについては、実際に呼び出しのtoString()方法 である.は、nullおよびundefinedに対して、toString()メソッドを呼び出すことなく、内部で新しい文字列 を生成する.は、任意のデータと に変換されます.内部実装原理は、String関数と同じ である.
1、変換されたデータをNumber()関数に伝えます.文字列-->数字 純数字の文字列であれば、そのまま数字 に変換される.文字列に数字以外の内容がある場合、NaN に変換される.文字列が空の列または空の文字列である場合、0 に変換される.ブール-->数字 trueを1 に変換します. falseは0 に回転します. null-->数字-->0 undefined-->デジタル-->NaN 2、変換されたデータをパーrseInt()関数に入力する/パー秒eFloat()関数 に戻ります.は、パーrseInt()/parseFloat()を利用して文字列内の有効な整数を抽出することができる. の違いは前者が整数しか抽出できないことであり、後者は小数 を抽出することができる.
無効数字 に遭遇するまで、最初の有効数字から開始する.第一位が有効数字でないと、何も抽出できないので、NaN に戻ります.最初のパラメータは変換する文字列で、2番目のパラメータは変換するステップ である. は、第1の に出会う.第一位が有効数字でないと、何も抽出できません. は第二のパラメータをサポートしていません.10進数 だけ解析できます.解析された内容に整数がある場合、整数 に解析される.は、StringタイプではないパーrseInt()またはパーパーrseFloat()を使用し、先にStringタイプに変換してから、動作 で動作する. Tips は、値−0*1/1に変換することによって、Number に変換することができる.+番号を追加しても、データの正負性は変更されません. -番号を追加すると、データの正負性が変更されます.
1、変換されたデータタイプのtoStringを呼び出す()方法
var num1 = 10;
var res1 = num1.toString(); //
console.log(res1); // 10
console.log(typeof res1); // string
var num2 = true;
var res2 = num2.toString(); //
console.log(res2); // true
console.log(typeof res2); // string
var num3 = undefined;
var res3 = num3.toString(); //
console.log(res3);
var num4 = null;
var res4 = num4.toString(); //
console.log(res4);
var num5 = NaN;
var res5 = num5.toString();
console.log(res5); // NaN
console.log(typeof res5); // String
var num6 = 10;
var res6 = num6.toString();
console.log(typeof num6); // number
console.log(typeof res6); // string
var num7 = 20;
var res7 = num7.toString(2);
var res8 = num7.toString(8);
var res9 = num7.toString(10);
var res10 = num7.toString(16);
console.log(res7); // 10100
console.log(res8); // 24
console.log(res9); // 20
console.log(res10); // 14
2、変換されたデータをString()関数に導入する var num1 = 10;
var res1 = String(num1); //
console.log(res1); // 10
console.log(typeof res1); // string
var num2 = true;
var res2 = String(num2); //
console.log(res2); // true
console.log(typeof res2); // string
var num3 = undefined;
var res3 = String(num3);
console.log(res3); // undefined
console.log(typeof res3); // string
var num4 = null;
var res4 = String(num4);
console.log(res4); // null
console.log(typeof res4); // string
3、変換されたデータを+""
と接続する.+""
を接続して、文字列 var num1 = 10;
var res1 = num1 + "";
console.log(res1); // 10
console.log(typeof res1); // string
var num2 = true;
var res2 = num2 + "";
console.log(res2); // true
console.log(typeof res2); // string
var num3 = undefined;
var res3 = num3 + "";
console.log(res3); // undefined
console.log(typeof res3); // string
var num4 = null;
var res4 = num4 + "";
console.log(res4); // null
console.log(typeof res4); // string
他のタイプをNumberタイプに変換します.1、変換されたデータをNumber()関数に伝えます.
var str1 = "123";
var res1 = Number(str1);
console.log(res1); // 123
console.log(typeof res1); // number
var str2 = "123ab";
var res2 = Number(str2);
console.log(res2); // NaN
var str3 = "";
var res3 = Number(str3);
console.log(res3); // 0
var str4 = " ";
var res4 = Number(str4);
console.log(res4); // 0
var bool1 = true;
var res5 = Number(bool1);
console.log(res5); // 1
var bool2 = false;
var res6 = Number(bool2);
console.log(res6); // 0
var str5 = null;
var res7 = Number(str5);
console.log(res7); // 0
var str6 = undefined;
var res8 = Number(str6);
console.log(res8); // NaN
Number()
関数では、混合文字列が有効な整数があるかどうかにかかわらず、NaN parseInt()
は文字列の整数を抽出する.var str7 = "300px";
var res9 = parseInt(str7);
console.log(res9); // 300
var str8 = "300px250";
var res10 = parseInt(str8);
console.log(res10); // 300
console.log(parseInt("abc123")); // NaN, NaN
console.log(parseInt("")); // NaN,Number("") 0
parseFloat()
は文字列の小数点を抽出する..
を解析し、第2の.
または非デジタル終了 var str9 = "20.5px";
var res11 = parseInt(str9);
console.log(res11); // 20
var str10 = "20.5.5.5px";
var res12 = parseFloat(str10);
console.log(res12); // 20.5
var str11 = true;
var res13 = parseInt(str11); // parseInt("true");
console.log(res13); // NaN
var res14 = Number(str11);
console.log(res14); // 1
var result = 123;
console.log(result); // 123
result = true * 1;
console.log(result); // 1
result = null / 1;
console.log(result); // 0
+演算子を使ってタイプ変換を行います. var str1 = "666";
var res1 = +str1;
console.log(res1); // 666
console.log(typeof res1);//number
var str2 = "3.14";
var res2 = +str2;
console.log(res2); // 3.14
console.log(typeof res2);//number
var str3 = "666px";
var res3 = +str3;
console.log(res3); // NaN
console.log(typeof res3);//number
var flag = false;
var res4 = +flag;
console.log(res4); // 0
console.log(typeof res4);//number
var flag = true;
var res4 = +flag;
console.log(res4); // 1
console.log(typeof res4);//number
var str5 = "555";
var res5 = -str5;
console.log(res5); // -555
console.log(typeof res5);//number