javascriptにおけるtonttring()とvalueof()の用法と両者の違い
3072 ワード
基本的に、すべてのJSデータタイプはvalueOfとtoStringの二つの方法を持っています.nullは除外します.彼ら2人はjavascript値演算と表示の問題を解決します.
1.使い方は以下の通りです
toString()メソッド:オブジェクトの文字列表示を返します.
オブジェクト
操作
Aray
将 Aray の要素を文字列に変換します.結果の文字列はコンマで区切られ、接続されます.
ボロア
もしBoolean値が trueは「true」に戻ります.そうでない場合は、「false」を返します.
Date
日付のテキスト表示法を返します.
エロエロ
関連エラーメッセージを含む文字列を返します.
Function
下記の形式の文字列を返します. functinnam は呼び出しされます toString メソッド関数の名前:
数値のテキスト表示を返します.
String
戻る String オブジェクトの値
デフォルト
は、
valueOf()メソッド:指定されたオブジェクトの元の値を返します.
オブジェクト
戻り値
Aray
配列の要素は、コンマで区切られた文字列に変換されます.その操作と Aray.toString 和 Aray.join方法は同じです.
ボロア
Boolean値
Date
保存時間は1970年1月1日深夜から計算したミリ秒数です. UTC
Function
関数自体
Number
数値
Object
対象自体です.これはデフォルトです.
String
文字列の値
2.両者の共通点と相違点:
共通点:JavaScriptでは、toString()メソッドとvalueOf()メソッドは、出力対象時に自動的に呼び出します.
相違点:両者が共存している場合、数値演算では、優先的にvalueOfが呼び出され、文字列演算では、優先的にtoStringが呼び出されます.
例1は以下の通りです
戻り値の種類の違い:
1.toStringは必ずすべてを文字列に変換します.
2.valueOfは対象内部の値を取り出し、タイプ変換を行わない
用途の違い:
1.valueOfは算数計算と関係演算に専用です.
2.toStringは出力文字列に専用です.
共通の欠点:nullとundefinedの値が取れない
PS:Java中parse()とvalueOf()、toString()の違い
1.parse()はSimpleDateFomatの中の方法です.あなたが言っているのはパーrseInt()かパーrsefloat()のような方法でしょう.
名前の通り、例えばパーrseInt()はStringタイプをintタイプに変換することです.
如き
String a="123"
int b=Integer.parseInt(a)
これでbは123になります.
2.ValueOf()メソッドは、例えばInteger.valueOf()は、StringタイプをIntegerタイプに変換する(注意:intタイプではなく、intタイプです.intタイプは数字を示すシンプルなタイプです.Integerタイプは参照の複雑なタイプです.
3.toString()は、一つの参照タイプをString文字列タイプに変換することができる.
以下の例は2とは逆に、IntegerをStringタイプに変換します.
Integer a=new Integer(123);String b=a.toString()
この時bは123です.
要点 parseInt()String intValue() ValueOf() インテグ
1.使い方は以下の通りです
toString()メソッド:オブジェクトの文字列表示を返します.
オブジェクト
操作
Aray
将 Aray の要素を文字列に変換します.結果の文字列はコンマで区切られ、接続されます.
ボロア
もしBoolean値が trueは「true」に戻ります.そうでない場合は、「false」を返します.
Date
日付のテキスト表示法を返します.
エロエロ
関連エラーメッセージを含む文字列を返します.
Function
下記の形式の文字列を返します. functinnam は呼び出しされます toString メソッド関数の名前:
function functionname( ) { [native code] }
Number数値のテキスト表示を返します.
String
戻る String オブジェクトの値
デフォルト
は、
[object objectname]
を返します. objectname
は、オブジェクトの種類の名前です.valueOf()メソッド:指定されたオブジェクトの元の値を返します.
オブジェクト
戻り値
Aray
配列の要素は、コンマで区切られた文字列に変換されます.その操作と Aray.toString 和 Aray.join方法は同じです.
ボロア
Boolean値
Date
保存時間は1970年1月1日深夜から計算したミリ秒数です. UTC
Function
関数自体
Number
数値
Object
対象自体です.これはデフォルトです.
String
文字列の値
2.両者の共通点と相違点:
共通点:JavaScriptでは、toString()メソッドとvalueOf()メソッドは、出力対象時に自動的に呼び出します.
相違点:両者が共存している場合、数値演算では、優先的にvalueOfが呼び出され、文字列演算では、優先的にtoStringが呼び出されます.
例1は以下の通りです
var obj = {};
obj.valueOf = function()
{
return 10;
}
obj.toString = function()
{
return "return value";
}
var result = obj + 1; //var result = obj.valueOf() + 1;
alert(result);
alert(obj); //alert(obj.toString());
例2は以下の通りです
function obj()
{ }
obj.prototype.toString = function(){
return 'dfsf';
};
obj.prototype.valueOf = function(){
return '3333';
};
var e = new obj();
var o = new obj();
alert(o);//alert(obj.toString())
alert(o+e);//alert(obj.valueOf()+obj.valueOf())
****toString vs valueOfの違い:戻り値の種類の違い:
1.toStringは必ずすべてを文字列に変換します.
2.valueOfは対象内部の値を取り出し、タイプ変換を行わない
用途の違い:
1.valueOfは算数計算と関係演算に専用です.
2.toStringは出力文字列に専用です.
共通の欠点:nullとundefinedの値が取れない
PS:Java中parse()とvalueOf()、toString()の違い
1.parse()はSimpleDateFomatの中の方法です.あなたが言っているのはパーrseInt()かパーrsefloat()のような方法でしょう.
名前の通り、例えばパーrseInt()はStringタイプをintタイプに変換することです.
如き
String a="123"
int b=Integer.parseInt(a)
これでbは123になります.
2.ValueOf()メソッドは、例えばInteger.valueOf()は、StringタイプをIntegerタイプに変換する(注意:intタイプではなく、intタイプです.intタイプは数字を示すシンプルなタイプです.Integerタイプは参照の複雑なタイプです.
String a= "123";
Integer c =Integer.valueOf(a);
//Integer intValue int
int b =c.intValue();
この時、このbは123になります.3.toString()は、一つの参照タイプをString文字列タイプに変換することができる.
以下の例は2とは逆に、IntegerをStringタイプに変換します.
Integer a=new Integer(123);String b=a.toString()
この時bは123です.
要点 parseInt()String intValue() ValueOf() インテグ