淺析toString()和toLocaleString()的區別


翻看《javascript高級程序設計》,對toString()和toLocaleString()兩者的區別並沒有直白的說明,簡單查閱了一下 ecmascript官方文檔MDN

二者區別主要存在與Date類型中,舉個例子來說:

1 var number = 1337;
2 var date = new Date();
3 var myArr = [number, date, "foo"];
4 
5 var str = myArr.toLocaleString(); 
6 
7 console.log(str); 
8 // 輸出 "1337,2015/2/27 下午8:29:04,foo" 
9 // 假定運行在中文(zh-CN)環境,北京時區

解釋(詳見 MDN的Date.prototype.toLocaleString的解釋):

  1. 如果是toString(),會直接返回標准的格式;
  2. 如果是toLocaleString(),先判斷是否指定語言環境(locale),指定的話則返回當前語言環境下的格式設置(options)的格式化字符串;沒有指定語言環境(locale),則返回一個使用默認語言環境和格式設置(options)的格式化字符串。

 

接下來是吐槽時間,不得不吐的是 ecmascript官方文檔的解釋真是看的費勁,看了官方文檔的toLocaleString()心中一千零一只羊駝狂奔而過,並感嘆說:然而這並沒有什么卵用。但是不得不對MDN繼續無法自拔,也許這就是活躍社區的好處。

也許是功力不夠,繼續修煉再看看。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM