欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript中tostring()和valueof()的用法及兩者的區(qū)別

 更新時間:2015年11月16日 09:32:48   投稿:mrr  
基本上,所有JS數(shù)據(jù)類型都擁有valueOf和toString這兩個方法,null除外。它們倆解決javascript值運算與顯示的問題,本文給大家介紹javascript中tostring()和valueof()的用法及兩者的區(qū)別,對js tostring valueof相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧

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

1.用法如下:

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

對象 操作
Array 將 Array 的元素轉(zhuǎn)換為字符串。結(jié)果字符串由逗號分隔,且連接起來。
Boolean 如果 Boolean 值是 true,則返回 “true”。否則,返回 “false”。
Date 返回日期的文字表示法。
Error 返回一個包含相關(guān)錯誤消息的字符串。
Function 返回如下格式的字符串,其中 functionname 是被調(diào)用 toString 方法函數(shù)的名稱:
function functionname( ) { [native code] }
Number 返回數(shù)字的文字表示。
String 返回 String 對象的值。
默認 返回 “[object objectname]”,其中 objectname 是對象類型的名稱。

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

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

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

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

不同點:二者并存的情況下,在數(shù)值運算中,優(yōu)先調(diào)用了valueOf,字符串運算中,優(yōu)先調(diào)用了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一定將所有內(nèi)容轉(zhuǎn)為字符串

              2. valueOf取出對象內(nèi)部的值,不進行類型轉(zhuǎn)換

用途的差別:

              1. valueOf專用于算數(shù)計算和關(guān)系運算

              2. toString專用于輸出字符串

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

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

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

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

String a= "123";

 int b = Integer.parseInt(a);

這樣b就等于123了。

2.ValueOf()方法比如說 Integer.valueOf() 是把String類型轉(zhuǎn)化為Integer類型(注意:是Integer類型,而不是int類型,int類型是表示數(shù)字的簡單類型,Integer類型是一個引用的復(fù)雜類型)
如:

String a= "123";
Integer c =Integer.valueOf(a);
//Integer類型可以用intValue方法轉(zhuǎn)化為int類型
int b =c.intValue();

這時候這個b就等于123了

3. toString()可以把一個引用類型轉(zhuǎn)化為String字符串類型。

下面舉個例子與2相反,把Integer轉(zhuǎn)化為String類型:

Integer a = new Integer(123);
String b =a.toString();

這時候b就是 "123" 了

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

相關(guān)文章

最新評論