首页 > 建站教程 > JS、jQ、TS >  js toString()和toLocaleString()的区别正文

js toString()和toLocaleString()的区别

js中toString()和toLocaleString()都是转字符串方法,那么有什么区别呢:

1、数字:

    在数字转换成字符串的时候,并没有感觉这两个方法有什么区别,如下:
var e=123;
e.toString();  //输出 "123";
e.toLocaleString();  //输出 "123";
    并没有什么区别,上面的e是一个三位数的数字,那么要是四位数以上呢?
var a=1234;
a.toString();  //输出 "1234";
a.toLocaleString();  //输出 "1,234";
    当数字是四位及以上时,toLocaleString()会让数字三位三位一分隔,像我们有时候数字也会三位一个分号

2、数组:

    再继续看数组转成字符串分别用这两个方法有什么区别呢,看看,代码如下:
var arr=[1,2,3];
arr.toLocaleString();  //输出:"1,2,3"
arr.toString();  //输出:"1,2,3"
    并没有发现区别。

3、日期:

    然后再上网看看发现好像在转换时间格式上有区别,那么看看吧,代码如下:
var sd=new Date(); //得到:Wed Feb 15 2017 11:21:31 GMT+0800 (CST)
sd.toLocaleString();  //输出:"2017/2/15 上午11:21:31"
sd.toString();  //输出:"Wed Feb 15 2017 11:21:31 GMT+0800 (CST)"
    恩 这样一目了然看到了差别。

    这样总结以上就是toString()和toLocaleString()两点区别:
    1.当数字是四位数及以上时,有区别,区别看以上代码
    2.当目标是标准时间格式时,用以上两种方法是有区别的。