1. 程式人生 > >在javascript中toString 和valueOf的區別

在javascript中toString 和valueOf的區別

1、toString()方法:主要用於Array、Boolean、Date、Error、Function、Number等物件轉化為字串形式。日期類的toString()方法返回一個可讀的日期和字串。

陣列形式:

1  var array = ["CodePlayer", true, 12, -5];  
2  console. log( array.toString() );  
3  輸出的形式為:
4  CodePlayer,true,12,-5

 

1 日期形式:
2 
3 var date = new Date(2016, 9, 3, 23, 11, 59, 230);  
4 console. log( date.toString() );   
5  輸出的形式是:
6 1.Mon Oct 03 2016 23:11:59 GMT+0800 (CST)// (中國標準時間)  
1  數字形式:
2 var num =  15.26540;  
3 consoel.log( num.toString() );  
4  輸出的形式是:
5 15.2654  
1 Object:
2 var obj = {name: "張三", age: 18};  
3 console. log( obj.toString() );   
4  輸出的形式是:
5 [object Object]  

 

1  布林形式:
2 var bool = true;  
3 console. log( bool.toString() );  
4 輸出的形式是:5 true  

 2、valueOf()方法:

這個方法沒有的任務並沒有詳細的定義:如果存在任意原始值,它就預設將物件轉換為表示它的原始值。物件是複合值,而且大多數物件無法真正表示為一個原始值,因此預設的valueOf()方法簡單地返回物件本身,而不是返回一個原始值。陣列、函式和正則表示式簡單地繼承了這個預設方法,呼叫這些型別的例項的valueOf()方法只是簡單返回這個物件本身。日期類定義的valueOf()方法會返回它的一個內部表示:1970年1月1日以來的毫秒數.

1 var d = new Date(2016,9,2);   
2 d.valueOf();   
3 輸出的是:
4 1475337600000