ホームページ >ウェブフロントエンド >jsチュートリアル >JS型変換_javascriptスキルのよくある方法まとめ

JS型変換_javascriptスキルのよくある方法まとめ

WBOY
WBOYオリジナル
2016-05-16 18:26:031300ブラウズ
1. 型変換

1. 文字列に変換

ECMAScript のブール値、数値、文字列のプリミティブ値の興味深い点は、それらが擬似オブジェクトであることです。これは、実際にプロパティとメソッドがあることを意味します。
例:

Js コード
コードをコピー コードは次のとおりです:

var sColor = "blue";
alert(sColor.length);//「4」を出力
var sColor = "blue";
alert(sColor.length);//出力 "4"


つまり、ブール値、数値、文字列の 3 つの主要なプリミティブ値には toString() メソッドがあります。 ECMAScript で定義されたすべてのオブジェクトには、擬似オブジェクトであっても実際のオブジェクトであっても、toString() メソッドがあります。

ブール値の toString() メソッドは「true」または「false」を出力するだけで、結果は変数の値によって決まります:

Js コード
コードをコピーします コードは次のとおりです。

var bFound = false; //「false」を出力します
var bFound = false;
alert(bFound.toString());//「false」を出力します


の toString() メソッドNumber 型は特殊です。デフォルト モードとベース モードの 3 つのモードがあります。デフォルト モードでは、toString() メソッドは数値 (整数、浮動小数点数、または科学値) を出力するだけです。表記) を対応する文字列で置き換えます。
Js コード

コードをコピー コードは次のとおりです:
var iNum1 = 10 ;
var fNum2 = 10.0;
alert(iNum1.toString()); //「10」を出力
alert(fNum2.toString()); //「10」を出力= 10;
var fNum2 = 10.0;
alert(iNum1.toString()); //「10」を出力
alert(fNum2.toString()); //「10」を出力


Number 型の toString() メソッドの基底モードを使用すると、異なる基数 (基数) を使用して数値を出力できます。
Js コード



コードをコピー コードは次のとおりです: var iNum = 10 ;
alert(iNum.toString(2)); //「1010」を出力
alert(iNum.toString(8)) //「12」を出力
alert(16) ); / /「A」を出力します。
var iNum = 10;
alert(iNum.toString(2)); //「1010」を出力します。
alert(8);出力 "12 "
alert(iNum.toString(16)); //出力 "A"



2 に変換します。 🎜>ECMAScript 数値以外のプリミティブ値を数値に変換するために、parseInt() と parseFloat() という 2 つのメソッドが提供されています。
注: これらのメソッドは String 型 (Number を除く) で呼び出された場合にのみ正しく実行され、他の型では NaN が返されます。
例:
Js コード




コードをコピー

コードは次のとおりです: var iNum1 = parseInt("1234blue"); // 1234 を返します var iNum2 = parseInt("oxA"); // 10 を返します var iNum3 = parseInt("22.5"); / 22 を返します var iNum4 = parseInt("blue"); // NaN を返します
var iNum1 = parseInt("1234blue"); // 1234 を返します
var iNum2 = parseInt("oxA"); // 10 を返します
var iNum3 = parseInt("22.5"); // 22 を返します
var iNum4 = parseInt("blue"); // NaN を返します



parseInt() メソッド 2 進数、8 進数、16 進数、またはその他の基本文字列を 10 進整数に変換できる基本モードもあります。 2 番目のパラメータは、どの塩基を解析するかを指定します。
Js コード



コードをコピー

コードは次のとおりです。 var iNum1 = parseInt ("AF ",16); // 175 を返します var iNum2 = parseInt("10",2); // 2 を返します var iNum3 = parseInt("10",8); var iNum4 = parseInt("10",10); // 10 を返します
var iNum1 = parseInt("AF",16);// 175 を返します
var iNum2 = parseInt("10", 2); // 2 を返します
var iNum3 = parseInt("10",8); // 8 を返します
var iNum4 = parseInt("10",10); // 10 を返します>

注: 10 進数の先頭に 0 が含まれる場合は、基数 10 を使用するのが最善です。そうでない場合、取得される値は 8 進数になります。
Js コード



コードをコピー


コードは次のとおりです。

var iNum1 = parseInt("010"); // 8 を返します
var iNum2 = parseInt("010",8); // 8 を返します
var iNum3 = parseInt("010") ,10);// 10 を返します
var iNum1 = parseInt("010"); // 8 を返します
var iNum2 = parseInt("010",8); // 8 を返します
var iNum3 = parseInt("010",10);//10 を返します


parseFloat() メソッドは parseInt() メソッドと似ており、位置 0 から開始して、位置 0 になるまで各文字を調べます。最初の無効な文字が見つかった後、その文字の前の文字列を数値に変換します。このメソッドでは、最初の小数点が有効な文字です。小数点以下 2 桁が使用されている場合、小数点以下 2 番目は無効とみなされます。このメソッドを使用する場合のもう 1 つの違いは、文字列が 10 進形式の浮動小数点数を表現する必要があることです。

Js コード
コードをコピー コードは次のとおりです:

var fNum1 = parseFloat ("1234blue"); //1234.0 を返します
var fNum2 = parseFloat("0xA"); //NaN を返します
var fNum3 = parseFloat("22.5"); //22.5 を返します
var fNum4 = parseFloat("22.34.5");// 22.34 を返します
var fNum5 = parseFloat("0908");// NaN を返します
var fNum6 = parseFloat("blue");// NaN を返します
var fNum1 = parseFloat("1234blue"); // 1234.0 を返します
var fNum2 = parseFloat("0xA"); // NaN を返します
var fNum3 = parseFloat("22.5"); 22.5
var fNum4 = parseFloat("22.34.5");// 22.34 を返します
var fNum5 = parseFloat("0908");// NaN を返します
var fNum6 = parseFloat("blue"); //NaN を返します


3. 強制型変換
ECMAScript で使用できる 3 種類の強制型変換は次のとおりです:
(1) .Boolean(value)
指定された値をブール型に変換します。
Boolean() 関数は、変換される値が文字列、ゼロ以外の数値、または少なくとも 1 つの文字を含むオブジェクトである場合に true を返します。値が空の文字列、数値 0、未定義、または null の場合は、false を返します。
例:
Js コード
コードをコピー コードは次のとおりです:

var b1 = Boolean(""); // false;
var b2 = Boolean("hi");//true
var b3 = Boolean(100);//true
var b4 = Boolean(null );//false
var b5 = Boolean(0);//false
var b6 = Boolean(new Object());//true
var b1 = Boolean("" ); // false;
var b2 = Boolean("hi");//true
var b3 = Boolean(100);//true
var b4 = Boolean(null);//false
var b5 = Boolean(0);//false
var b6 = Boolean(new Object());//true


(2).Number(value )
指定された値を数値 (整数または浮動小数点数にすることができます) に変換します。
parseInt() メソッドと parseFloat() メソッドは最初の無効な文字の前の文字列のみを変換するため、「4.5.6」は「4.5」に変換されることに注意してください。 Number()、「4.5.6」を使用してキャストすると、文字列値全体を数値に変換できないため、NaN が返されます。文字列を完全に変換できる場合、Number() は parseInt() メソッドを呼び出すか parseFloat() メソッドを呼び出すかを決定します。
例:
Js コード
コードをコピー コードは次のとおりです:

数値( false);//0
数値(true);//1
数値(未定義);//NaN
数値(null);//0
数値("5.5 ");/ /5.5
Number("56");//56
Number("5.6.7");//NaN
Number(new Object());//NaN
数値(100 );//100
数値(false);//0
数値(true);//1
数値(未定義);//NaN
数値(null); //0
Number("5.5");//5.5
Number("56");//56
Number("5.6.7");//NaN
Number(new Object()) ;//NaN
Number(100);//100


(3).String(value)
指定された値を文字列に変換します。
toString() メソッドの呼び出しとの唯一の違いは、null または未定義の値をキャストすると、エラーを発生させずに文字列を生成できることです。
Js コード
コードをコピーします コードは次のとおりです。

var s1 = String(null);//"null"
var oNull = null; var s2 = oNull.toString();//エラーが発生します

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。