Object对象存在两个转化为字符串的方法,一个是常用的toString,另一个则是toLocaleString。接下来通过示例来展示各种不同数据类型下的输出差异
注:基本数据类型在调用toStringtoLocaleString时,会首先将基本数据类型实例化为对应的对象类型。比如var x = 'abc';,示例中x并不是对象类型,但是在调用时,会首先通过new String()将文本实例化为String包装类型

对象


效果相同,调用的是原始的Object.toString()方法

字符串


效果相同,因其本身就是字符串

数字


toString将数字转换为字符串,toLocaleString在转换为字符串的同时,使用三位分节法进行显示

需要注意的是number数字类型下这两个方法都是可传入参数的,如下图所示:

toString中传入的参数表示需要转换的进制,而toLocaleString具体参数可查考:MDN

浮点数


toString将浮点数转换为字符串,toLocaleString在转换为字符串的同时,只保留了小数点后三位数,并进行了四舍五入

函数


效果相同,将函数直接转化为字符串

数组


效果相同,将数组转化为以,分隔的字符串,与join(',')相同

布尔值


效果相同,都是将布尔值转化为字符串

日期


toString转换为以国际化日期显示格式的字符串,toLocaleString转换为以本地日期显示格式的字符串


luckyw
685 声望33 粉丝