tostring()とvalueof()の方法の違い

1581 ワード

JavaScriptではほとんどの対象がtoLocareStering()、tostringとvalueof()の方法を持っています.なぜなら、すべての対象はObjectから継承されています.前に述べた方法はすべてObjectの方法です.
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
文字列の値
4、両者の違い
共通点:JavaScriptでは、toString()メソッドとvalueOf()メソッドは、出力対象時に自動的に呼び出します.
違い点:
(1)、両者が共存している場合、数値演算では、まずvalueOfが呼び出され、文字列演算では、優先的にtoSteringが呼び出されます.
コードは以下の通りです
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)戻り値の種類の違い:
Stringは必ずすべてを文字列に変換します.
valueOfは対象内部の値を取り出し、タイプ変換を行いません.
(3)用途の違い:
valueOfは算数計算と関係演算に専用です.
toStringは出力文字列専用です.
(3)共通の欠点
nullとundefinedの値を取得できませんでした.