文字列値JS三つの主要の転送方法
伝達関数、弱JS変数の型変換の使用をキャストします。
1.変換関数:
JS提供のparseInt()およびparseFloatは()は、2つの変換関数。浮動小数点値に変換する整数への以前の値、。正しく実行するために、これらの2つの機能、これらのメソッドの文字列型のみを呼び出し、戻り、他のタイプのためには、NaN(非数)です。
数字の前の文字列の値であるか否かを決定する際に、のparseInt()およびparseFloatは()は慎重に文字列を分析します。
parseInt()メソッド最初のチェック文字位置0は、有効な番号であるか否かが判定され、ない、方法がNaNを返した場合、他の操作を実行し続けません。しかし、文字の位置は1、同じテストで文字を見ていきます有効な数値は、ある場合。それが非アクティブキャラクターフィギュアに達するまで、このプロセスは、前にデジタルに文字列を変換します。この時点で、のparseInt()を続けています。
私たちは整数に文字列「1234blue」をしたい場合たとえば、その後のparseInt()は1234を返し、それは文字Bとして検出されると、検出プロセスが停止します。
数値リテラル文字列が正しくデジタルに変換し、その文字列「0xAが」が正しくデジタル10に変換されて収容されています。
しかし、文字列「22.5」が整数の場合と同様に、小数点以下は無効な文字があり、22に変換されます。
次のようにいくつかの例は以下のとおりです。
- parseInt("1234blue"); //戻り1234
- parseInt("0xAが"); // 10を返します。
- parseInt("22.5"); // 22を返します。
- parseInt("ブルー")。 // NaNを返します
parseInt()メソッドもグループモードは、2進数、8進数、16進数、バイナリ文字列、または他の任意の整数に変換することができます。
グループがそのように16進数の値を解決するために、第二のパラメータのparseInt()メソッドで指定され、以下の通りのparseInt()メソッドが呼び出されます。
- parseInt("AF"、16); // 175を返します。
もちろん、2進数、8進数、10進数または偶数(デフォルトモード)は、メソッド)(これのparseIntを呼び出すことができます。
- parseInt("10"、2); //戻り2
- parseInt("10"、8)。 //戻り8
- parseInt("10"、10); // 10を返します。
誤っ進値を得ないように、小数は、ベース10の0、そして最高の使用をリード含まれている場合。例えば:
- parseInt("010"); //戻り8
- parseInt("010"、8)。 //戻り8
- parseInt("010"、10); // 10を返します。
このコードでは、コード列の2行は、「010」は、分析数となっています。8進数値として文字列にコードの最初の行、及び、第2ライン(宣言基数8)解決方法。コードの最後の行は、最後の10に等しいベース10、したがってiNum3宣言する。
parseInt()メソッドと同様の処理parseFloatは()メソッドは、あなたが最初の非アクティブなキャラクター、そしてデジタルへの変換前の文字列が見つかるまで、それぞれの文字は、位置0から始まり表示します。
しかし、この方法のために、小数点の最初の発生は有効な文字です。小数点以下がある場合、第二小数点が無効とされ、小数点の前に文字列のparseFloatは()メソッドは、デジタルに変換されます。これは、文字列「22.34.5」は22.34に解決されることを意味します。
使用parseFloatは()メソッドは、別の差がかなり進数または16進数を使用するよりも、文字列が10進浮動小数点形式で表現されなければならないことです。
この方法は、先頭の0を無視するので、進数0908は、908のように解釈されます。進数0xAがために、この方法は、フロートので、NaNを返し、xは有効な文字ではありません。
さらに、parseFloatは()もグループモード。
以下parseFloatは()メソッドの使用例です。
- parseFloatは("1234blue"); // 1234.0を返します。
- parseFloatは("0xAが"); // NaNを返します
- parseFloatは("22.5"); // 22.5を返します。
- parseFloatは("22.34.5"); // 22.34を返します。
- parseFloatは("0908"); // 908を返します。
- parseFloatは("ブルー")。 // NaNを返します
2.キャスト
使用も(型キャスト)プロセスの型変換値をキャストすることができます。使用キャストは、それは別のタイプであっても、特定の値にアクセスすることができます。
ECMAScriptのは、キャストの3種類で使用することができ、次のとおりです。
ブール(値) -ブールに与えられた値、
数(値) -デジタル(整数のいずれかまたは浮動小数点)に与えられた値、
文字列(値) -指定された値文字列に。
これらの三つの機能の1の変換値は、直接値に変換元の値からの翻訳のために、新たな価値を創造します。これは、予期しない結果になります。
値が(これは次のセクションで説明されている)である少なくとも一つの文字列、または0以外のオブジェクトに変換すると、ブール()関数は真を返します。値が空の文字列、番号0、未定義、またはnullの場合は、falseを返します。
コードセグメントは、次のブール型キャストをテストするために使用することができます。
- ブール(""); //偽-空の文字列
- ブール("こんにちは"); //真-非空の文字列
- ブール(100); //真-ゼロ以外の数値
- ブール(NULL); //偽-ヌル
- ブール(0); //偽-ゼロ
- ブール(新しいオブジェクト()); //真-オブジェクト
数()は、値全体ではなく部分的な値を変換することを除いて、のparseInt()およびparseFloatは()メソッド同様の処理により鋳造されます。
覚えておいてのparseInt()およびparseFloatは()メソッドは、最初の無効な文字の前に文字列を変換するので、「4.5.6」に変換されます「4.5。」
文字列全体をデジタル値に変換することができないので、番号()でキャストは、「4.5.6」は、NaNを返します。
文字列値を完全に変換することができる場合決意がparseFloatは()メソッドが呼び出されるのparseInt()メソッドであると、番号()を呼び出します。
次の表は、状況が異なる値()メソッドは、どうなるの数を呼び出す示しています。
結果を使用してください
- 番号(偽)0
- 番号(真)1
- 番号(未定義)はNaN
- 数(ヌル)0
- 番号( "5.5")5.5
- 番号( "56")56
- 番号( "5.6.7")はNaN
- 番号(新しいオブジェクト())はNaN
- 番号(100)100
それは文字列に任意の値を変えることができるので、最終的なキャスト法文字列()は、最も簡単です。
このキャストを実行するには、単にパラメータ()メソッドとして渡されたのtoString値を呼び出し、それはそう、偽変換するには、「偽」、「真」に変換された真の、「1」に変換され、ように。
文字列に強制し、エラーを出さずにnullまたは未定義のキャスト文字列の値を生成することができるのtoString()メソッドのみの違いを呼び出します。
- VaRのS1 =文字列(NULL)。 //"ヌル"
- だっoNull = NULL;
- VAR S2 = oNull.toString()。 //動作しません、エラーが発生
3.弱い型付けされた変数変換JSの使用
小さな例を与える、見て、あなたが理解するだろう。
- <スクリプト>
- STR =だった '012345';
- ここで、x = 0 STR。
- X = X * 1。
- </ SCRIPT>
JSの実施例は、文字列型デジタル変換を達成するために、弱いタイプ特性のみ演算を利用するが、この方法は推奨されません。