亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

1.用法如下:

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

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

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

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

2.兩者的共同點(diǎn)與不同點(diǎn):

共同點(diǎn):在 JavaScript 中,toString()方法和valueOf()方法,在輸出對(duì)象時(shí)會(huì)自動(dòng)調(diào)用。

不同點(diǎn):二者并存的情況下,在數(shù)值運(yùn)算中,優(yōu)先調(diào)用了valueOf,字符串運(yùn)算中,優(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取出對(duì)象內(nèi)部的值,不進(jìn)行類型轉(zhuǎn)換

用途的差別:

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

              2. toString專用于輸出字符串

共同的缺點(diǎn):無法獲取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ù)字的簡(jiǎn)單類型,Integer類型是一個(gè)引用的復(fù)雜類型)
如:

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

這時(shí)候這個(gè)b就等于123了

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

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

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

這時(shí)候b就是 "123" 了

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

相關(guān)文章

最新評(píng)論