JavaScript には次のデータ型変換メソッドがあります。
1、数値 xxx*1.0 に変換
文字列 xxx "" に変換
2、1 つの値を抽出別の A 型の値から変換が行われます。
文字列から整数を抽出します: parseInt();
例: parseInt("123zhang") の結果は 123
文字列から浮動小数点数を抽出します: parseFloat() ;
例: parseFloat("0.55zhang") の結果は 0.55
文字列で表される JavaScript コードを実行します: eval();
例: zhang=eval(" 1 1") は zhang =2
です。文字列に変換します: toString();
例: zhang=eval("1 1") の結果 zhang=2
three は変換しますある型からの値全体を別のデータ型に変換します (基本データ型変換と呼ばれます)、
基本的なデータ型変換の 3 つのメソッド:
。文字型に変換します: String(); 678) Number("678") の結果は "678"
数値型に変換します: Number(); 例: Number("678") の結果は 678
です。 Boolean(); 例: Boolean("aaa ") is true
これらのメソッドを使用する場合、必要に応じてパラメータやメソッドの実行時に例外を判断して処理するようにしてください。
参考資料にあるように、実行効率の概要は次のとおりです。
IE では、1 番目の方法が最も速く、2 番目が 2 番目、3 番目が最も悪いですが、違いはそれだけです。 10万倍、その差はわずか数100ミリ秒です。
FF では、1 番目と 2 番目のタイプは基本的に同等で、3 番目のタイプが最も遅くなります。
速度の差は基本的に無視できます。なぜなら、その差は非常に小さいからです。
ただし、コードの単純さから、最初のメソッドは明らかに書きやすく、読みやすいです。
オブジェクトには toString メソッドがないため、2 番目のメソッドではエラーは発生しません。それに、彼はいつも最速だった。
したがって、私は最初の方法を使用してデータ型変換を完了することに慣れています。
ただし、その中の数値を抽出するために「123456abcd」が必要な場合は、当然、parsetInt や parseFloat などの関数を使用する必要があります。
ただし、変換結果がNaN等になる場合もあるので判断が必要ですので注意してください。
例外処理の例:
例 句 | 结 果 |
---|---|
parseInt('1234') | 1234 |
parseInt('1234.00') | 1234 |
parseInt('1234abc') | 1234 |
parseInt('abc1234') | undefined(转换失败) |
parseFloat('1234.123') | 1234.123 |
parseFloat('1234.123a') | 1234.123 |
parseFloat('a1234.123') | NaN |
Number('1234.123') | 1234.123 |
Number('1234.123aa') | NaN |
String(eval('12 10')) | 22 |
Boolean('0'),Boolean('567'),Boolean(567) | true |
Boolean(null),Boolean(false),Boolean(0),Boolean(''),Boolean() | false |
this.toString() | [object] |
(typeof(this)).toString() | object |
eval('12 34') | 46 |
eval('12 34') '' | 46 |
eval('12 34')*1.0 | 46 |
typeof(eval('12 34')*1.0) | number |
typeof(eval('12 34') '') | string |
ご利用の際は記号等の修正が必要な場合があります。