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 字符串
:返回某个字符串对象的原始值。
:返回字符串。