toString()和toLocaleString()
一. 在数字转换成字符串的时候,并没有感觉这两个方法有什么区别,如下:
var e = 123;
e.toString();
"123"
e.toLocaleString();
"123"
但是如果要是四位数以上会输出什么:
var a = 1234;
a.toString();
"1234"
a.toLocaleString();
"1,234"
当数字是四位及以上时,toLocaleString()会让数字三位三位一分隔,就好像是金融里的数字,三位一组
二 . 再继续看数组转成字符串分别用这两个方法有什么区别呢,看看,代码如下
var aa=[1,2,3]
aa.toLocaleString()
"1,2,3"
aa.toString()
"1,2,3"
将数组转为字符串是好像没什么区别
然后查一下MDN还有借阅网上文章发现在转换时间格式上有区别,那么看看吧,代码如下:
var sd=new Date();
Wed Feb 15 2018 10:45:39 GMT+0800 (CST)
sd.toLocaleString();
"2018/2/15 上午10:45:39"
sd.toString();
"Wed Feb 15 2018 10:45:39 GMT+0800"
三. 最后查一下MDN,链接直达 >>> MDN-toLocaleString
细节的可以去MDN细看,主要说了可以根据语言类型去输出:
var event = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
// British English uses day-month-year order and 24-hour time without AM/PM
console.log(event.toLocaleString('en-GB', { timeZone: 'UTC' }));
// expected output: 20/12/2012, 03:00:00
// Korean uses year-month-day order and 12-hour time with AM/PM
console.log(event.toLocaleString('ko-KR', { timeZone: 'UTC' }));
// expected output: 2012. 12. 20. 오전 3:00:00
toLocaleString() 方法返回该日期对象的字符串,该字符串格式因不同语言而不同。新增的参数 locales 和 options 使程序能够指定使用哪种语言格式化规则,允许定制该方法的表现(behavior)。在旧版本浏览器中, locales 和 options 参数被忽略,使用的语言环境和返回的字符串格式是各自独立实现的。
四. 最后总结以上就是toString()和toLocaleString()两点区别:
1.当数字是四位数及以上时,有区别,区别看以上代码
2.当目标是标准时间格式时,用以上两种方法是有区别的,区别看以上
3.toLocaleString
可以使用新增的参数 locales 和 options 使程序能够指定使用哪种语言格式化规则,具体可以看MDN
本文原创,转载请注明出处
https://blog.csdn.net/Umbrella_Um/article/details/98116088