天天看點

js toString()、toLocaleString()、valueOf()的差別

在javascript中所有的對象都具有toLocaleString()、toString()和valueOf()方法。它們都是用來轉換字元串的,那這三者的差別到底在哪呢?

簡單來說,toString就是用字元串來代替對象。toLocaleString就是根據不同的語言環境吧對象轉成字元串,實際上toLocaleString是有預設參數的,如toLocaleString('ko-ka')是根據南韓的語言格式轉化,顯示出來就是 韓文。而valueOf就是一個擷取對象原始值的方法,數組的原始值當然是它本身。
           

以時間舉例:

var date = new Date();
console.log(date.valueOf());
console.log(date.toString());
console.log(date.toLocaleString());
           
js toString()、toLocaleString()、valueOf()的差別

最後,toString()、toLocaleString()的差別:

- toLocaleString()是調用每個數組元素的 toLocaleString() 方法,然後使用地區特定的分隔符把生成的字元串連接配接起來,形成一個字元串。

  • toString()方法擷取的是String(傳統字元串),而toLocaleString()方法擷取的是LocaleString(本地環境字元串)。
  • 如果你開發的腳本在世界範圍都有人使用,那麼将對象轉換成字元串時請使用toString()方法來完成。
  • LocaleString()會根據你機器的本地環境來傳回字元串,它和toString()傳回的值在不同的本地環境下使用的符号會有微妙的變化。
  • 是以使用toString()是保險的,傳回唯一值的方法,它不會因為本地環境的改變而發生變化。如果是為了傳回時間類型的資料,推薦使用LocaleString()。若是在背景處理字元串,請務必使用toString()。

繼續閱讀