JavaScript中valueOf 、toString 、toLocalString的区别

Array、Boolean、Date、Number等对象都具有toString()、toLocaleString()、valueOf()三个方法。

1、简单了解

首先这三个方法返回的数据类型就是不一样的。valueOf()返回的是这个对象本身,可能是object、number等等。但是tolocaleString()和toString()顾名思义就是转换为字符串类型。

其次,locale的意思就是本地,也就是转换为本地环境字符串。如果是全球范围内使用的话,则tolocaleString()之间会有很大区别。所以这种情况推荐使用toString()。

2、各个对象

2.1 Array数组

:返回数组本身

:把数组转换为字符串,并返回结果,每一项以逗号分割。

toLocalString():把数组转换为本地数组,并返回结果

2.2 Boolean 布尔值

:返回 Boolean 对象的原始值。

:根据原始布尔值或者 booleanObject 对象的值返回字符串 “true” 或”false”。默认为”false”。

toLocalString():Boolean对象没有toLocalString()方法。但是在Boolean对象上使用这个方法也不会报错。

2.3 Date 时间

:返回 Date 对象的原始值,以毫秒表示(时间戳)。

:把 Date 对象转换为字符串,并返回结果。使用本地时间表示。

toLocalString():可根据本地时间把 Date 对象转换为字符串,并返回结果,返回的字符串根据本地规则格式化。

2.4 Math 公式

valueOf:返回 Math 对象的原始值。

:把 Math 对象转换为字符串,并返回结果。

toLocalString():把 Math 对象转换为字符串,根据本地规则保留小数,并返回结果。

2.5 Number 数字

:返回一个 Number 对象的基本数字值。

:把数字转换为字符串,使用指定的基数。

toLocalString():把数字转换为字符串,使用本地数字格式顺序。

2.6 String 字符串

:返回某个字符串对象的原始值。

:返回字符串。