JS中toString()、toLocaleString()、valueOf()的區別

前言

Array、Boolean、Date、Number等對象都具備
toString()、toLocaleString()、valueOf()三個方法,那這三個方法有什麼區別?數組

1、JS Array

1)舉例code

var array = new Array("niu","li","na");  
console.log(array.valueOf());
console.log(array.toString());
console.log(array.toLocaleString());

2)結果

3)總結
valueOf:返回數組自己
toString():把數組轉換爲字符串,並返回結果,每一項以逗號分割。
toLocalString():把數組轉換爲本地數組,並返回結果。對象

2、JS Boolean

1)舉例開發

var boolean = new Boolean();
console.log(boolean.valueOf());
console.log(boolean.toString());

2)結果
fasle,fasle
3)總結
valueOf:返回 Boolean 對象的原始值。
toString():根據原始布爾值或者 booleanObject 對象的值返回字符串 "true" 或 "false"。默認爲"false"。
toLocalString():Boolean對象沒有toLocalString()方法。可是在Boolean對象上使用這個方法也不會報錯。字符串

3、JS Date

1)舉例string

var date = new Date();
console.log(date.valueOf());
console.log(date.toString());
console.log(date.toLocaleString());

2)結果

3)總結
valueOf:返回 Date 對象的原始值,以毫秒錶示。
toString():把 Date 對象轉換爲字符串,並返回結果。使用本地時間表示。
toLocalString():可根據本地時間把 Date 對象轉換爲字符串,並返回結果,返回的字符串根據本地規則格式化。console

4、JS Math

1)舉例後臺

console.log(Math.PI.valueOf());

2)結果

3)總結
valueOf:返回 Math 對象的原始值。date

5、JS Number

1)舉例方法

var num = new Number(1337);
console.log(num.valueOf());
console.log(num.toString());
console.log(num.toLocaleString());

2)結果

3)總結
valueOf:返回一個 Number 對象的基本數字值。
toString():把數字轉換爲字符串,使用指定的基數。
toLocalString():把數字轉換爲字符串,使用本地數字格式順序。

6、JS String

1)舉例

var string = new String("abc");
console.log(string.valueOf());
console.log(string.toString());

2)結果
abc
abc
3)總結
valueOf:返回某個字符串對象的原始值。
toString():返回字符串。

7、toString() VS toLocalString()

  1. toLocalString()是調用每一個數組元素的 toLocaleString() 方法,而後使用
    地區特定的分隔符把生成的字符串鏈接起來,造成一個字符串。
  2. toString()方法獲取的是String(傳統字符串),而toLocaleString()方法獲取
    的是LocaleString(本地環境字符串)。
  3. 若是你開發的腳本在世界範圍都有人使用,那麼將對象轉換成字符串時請使用
    toString()方法來完成。
  4. LocaleString()會根據你機器的本地環境來返回字符串,它和toString()返回的
    值在不一樣的本地環境下使用的符號會有微妙的變化。
  5. 因此使用toString()是保險的,返回惟一值的方法,它不會由於本地環境的改變而 發生變化。若是是爲了返回時間類型的數據,推薦使用LocaleString()。如果在後臺 處理字符串,請務必使用toString()。
相關文章
相關標籤/搜索