浅析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继续无法自拔,也许这就是活跃社区的好处。

也许是功力不够,继续修炼再看看。

时间: 2024-12-18 09:09:31

浅析toString()和toLocaleString()的区别的相关文章

javascript中toString跟toLocaleString的区别

toString:无参数,返回一个表示调用这个方法的对象值的字符串.在需要将对象转换为字符串的时候,javaScript都会调用这个方法. 默认的toString()方法的返回值带有的信息量很少,(不过在检测对象的类型时非常有用): var s = {x:1,y:1}.toString(); 代码的计算结果为字符串"[Object Object]" toLocaleString():对象都存在toLocaleString()方法,这个方法返回一个表示这个对象的本地化字符: 在Objec

toString和toLocaleString的区别

var a = 123456789; a.toString(): 输出的是:123456789: a.toLocaleString(); 输出的是:123,456,789 这两个结果输出的都是字符串,但是后者输出的是每隔三位就会断一次: var d = new Date(); d..toString() 输出的是:Fri Aug 09 2019 11:40:14 GMT+0800 (中国标准时间): d.toLocaleString(); 输出的是:2019/8/9 上午11:40:14 这两个

JS中toString()、toLocaleString()、valueOf()的区别

前言 Array.Boolean.Date.Number等对象都具有 toString().toLocaleString().valueOf()三个方法,那这三个方法有什么区别? 一.JS Array 1)举例 var array = new Array("niu","li","na"); console.log(array.valueOf()); console.log(array.toString()); console.log(array.

javascript高级程序设计--浅析undefined与null的区别

浅析undefined与null的区别 相似处: 1.undefined 和 null 都是javascript 的基本数据类型.其实两者没有太大区别. 定义: var a=undefined; var a=null; null==undefined;//true 2.null是一个表示"无"的对象,转为数值时为0:undefined是一个表示"无"的原始值,转为数值时为NaN. Number(undefined)//NaN 5 + undefined //NaN

Javascript中的toString和valueOf的区别

语法:objectname.toString([radix])objectname要为其搜索字符串表示形式的对象.radix可选,为将数字值转换为字符串指定一个基数. 此值仅用于数字.toString 方法是一个所有内置的 JavaScript 对象的成员.它的行为取决于对象的类型: valueOf:返回指定对象的基元值. 语法:object.valueOf( )object 引用是任何内部 JavaScript 对象,将通过不同的方式为每个内部 JavaScript 对象定义 valueOf

toString()和toLocaleString()有什么区别

之前一直在用toString()的方法,今天做项目时要进行时间上的转换,第一次用了toLocaleString(),那么就来看看区别吧! var date=new Date() Wed Feb 15 2017 11:21:31 GMT+0800 (CST) date.toLocaleString() "2017/2/15 上午11:21:31" date.toString() "Wed Feb 15 2017 11:21:31 GMT+0800 (CST)" 效果一

String、String.valueOf、toString 它们三者的区别总结

今天在使用这个的时候发现,他们三者好像在某些场所都是可以用的,但是不免会让人想到那既然它们三者这么的相似,那么总有些什么区别吧.我也在网上找了一些资料看.自己也看了API文档,就将他们三的区别总结一下吧.用了这么长时间,才发现有这些的不同,也是挺惭愧的. 先说他们三的作用是什么吧:没什么特别的作用,就是让我们得到的对象或参数类型,按照要求转成字符串的形式. String:毫无疑问,这种就是强转形式,简单方便,效率高.java程序员可能看到效率高或许有些激动,但是它有他的不好,那就是局限性.在ja

7.28_Linux_ext数据结构inode的原理浅析、软硬链接的区别

inode表结构浅析 下图以ext文件系统为参考,以4k块大小分区,简单描述一下ext文件系统的数据结构原理,如果有任何错误,烦请各位指出 inode 索引节点 硬盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区.硬盘的读写以扇区为基本单位. 扇区的大小,是2的N次方倍.分区的大小可以有多样,1k.2k.4k...以4k块大小来说明.4k块大小分为8个扇区,每个扇区对应512字节.每一块也称为block,文件以block为单位进行存储,并且每一个bolck只能属于一个文件,若文件大小不足

辛星浅析more和less的区别

可能新手朋友们对more和less的用法会有点迷惑,它们都可以用来查看较大的文本文件,它们的区别究竟是什么呢?它们的主要区别是用法习惯上的区别. 对于more来说,我们通常是使用空格键来翻页,使用回车来向下翻一行,当然也可以用b和f来前后翻页,我们一般来说翻页的幅度比较大,这就是more是much的比较级的意思,它可以理解为:每次翻页都会查看比较多的内容. 对于less来说,我们通常是使用上下键来浏览,它的上下翻滚幅度就小很多了,因为每次我们按方向键都是上下滚动一行,因此他更适合小范围文件的浏览