DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> javascript中tostring()和valueof()的用法及兩者的區別
javascript中tostring()和valueof()的用法及兩者的區別
編輯:關於JavaScript     

基本上,所有JS數據類型都擁有valueOf和toString這兩個方法,null除外。它們倆解決javascript值運算與顯示的問題。

1.用法如下:

toString()方法:返回對象的字符串表示。

對象 操作 Array 將 Array 的元素轉換為字符串。結果字符串由逗號分隔,且連接起來。 Boolean 如果 Boolean 值是 true,則返回 “true”。否則,返回 “false”。 Date 返回日期的文字表示法。 Error 返回一個包含相關錯誤消息的字符串。 Function 返回如下格式的字符串,其中 functionname 是被調用 toString 方法函數的名稱:

function functionname( ) { [native code] }
Number 返回數字的文字表示。 String 返回 String 對象的值。 默認 返回 “[object objectname]”,其中 objectname 是對象類型的名稱。

valueOf()方法:返回指定對象的原始值。

對象 返回值 Array 數組的元素被轉換為字符串,這些字符串由逗號分隔,連接在一起。其操作與 Array.toString 和 Array.join方法相同。 Boolean Boolean 值。 Date 存儲的時間是從 1970 年 1 月 1 日午夜開始計的毫秒數 UTC。 Function 函數本身。 Number 數字值。 Object 對象本身。這是默認情況。 String 字符串值。

2.兩者的共同點與不同點:

共同點:在 JavaScript 中,toString()方法和valueOf()方法,在輸出對象時會自動調用。

不同點:二者並存的情況下,在數值運算中,優先調用了valueOf,字符串運算中,優先調用了toString。

例子1如下:

<script>
 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());
</script>

例子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())
</script>

  ****toString vs valueOf的差別:

返回值類型的差別:

              1. toString一定將所有內容轉為字符串

              2. valueOf取出對象內部的值,不進行類型轉換

用途的差別:

              1. valueOf專用於算數計算和關系運算

              2. toString專用於輸出字符串

共同的缺點:無法獲取null和undefined的值

PS:Java中parse()和valueOf(),toString()的區別

1.parse()是SimpleDateFomat裡面的方法,你說的應該是parseInt()或parsefloat()這種方法吧,

顧名思義 比如說parseInt()就是把String類型轉化為int類型。

String a= "123";

 int b = Integer.parseInt(a);

這樣b就等於123了。

2.ValueOf()方法比如說 Integer.valueOf() 是把String類型轉化為Integer類型(注意:是Integer類型,而不是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" 了

                       int
          parseInt()
String                      intValue() 
         ValueOf()           
                    Integer

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved