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

前言

Array、Boolean、Date、Number等对象都具备
toString()、toLocaleString()、valueOf()三个方法,那这三个方法有什么区别?数组

1、JS Array

1)举例code

var array = new Array("niu","li","na");  
console.log(array.valueOf());
console.log(array.toString());
console.log(array.toLocaleString());

2)结果

3)总结
valueOf:返回数组自己
toString():把数组转换为字符串,并返回结果,每一项以逗号分割。
toLocalString():把数组转换为本地数组,并返回结果。对象

2、JS Boolean

1)举例开发

var boolean = new Boolean();
console.log(boolean.valueOf());
console.log(boolean.toString());

2)结果
fasle,fasle
3)总结
valueOf:返回 Boolean 对象的原始值。
toString():根据原始布尔值或者 booleanObject 对象的值返回字符串 "true" 或 "false"。默认为"false"。
toLocalString():Boolean对象没有toLocalString()方法。可是在Boolean对象上使用这个方法也不会报错。字符串

3、JS Date

1)举例string

var date = new Date();
console.log(date.valueOf());
console.log(date.toString());
console.log(date.toLocaleString());

2)结果

3)总结
valueOf:返回 Date 对象的原始值,以毫秒表示。
toString():把 Date 对象转换为字符串,并返回结果。使用本地时间表示。
toLocalString():可根据本地时间把 Date 对象转换为字符串,并返回结果,返回的字符串根据本地规则格式化。console

4、JS Math

1)举例后台

console.log(Math.PI.valueOf());

2)结果

3)总结
valueOf:返回 Math 对象的原始值。date

5、JS Number

1)举例方法

var num = new Number(1337);
console.log(num.valueOf());
console.log(num.toString());
console.log(num.toLocaleString());

2)结果

3)总结
valueOf:返回一个 Number 对象的基本数字值。
toString():把数字转换为字符串,使用指定的基数。
toLocalString():把数字转换为字符串,使用本地数字格式顺序。

6、JS String

1)举例

var string = new String("abc");
console.log(string.valueOf());
console.log(string.toString());

2)结果
abc
abc
3)总结
valueOf:返回某个字符串对象的原始值。
toString():返回字符串。

7、toString() VS toLocalString()

  1. toLocalString()是调用每一个数组元素的 toLocaleString() 方法,而后使用
    地区特定的分隔符把生成的字符串链接起来,造成一个字符串。
  2. toString()方法获取的是String(传统字符串),而toLocaleString()方法获取
    的是LocaleString(本地环境字符串)。
  3. 若是你开发的脚本在世界范围都有人使用,那么将对象转换成字符串时请使用
    toString()方法来完成。
  4. LocaleString()会根据你机器的本地环境来返回字符串,它和toString()返回的
    值在不一样的本地环境下使用的符号会有微妙的变化。
  5. 因此使用toString()是保险的,返回惟一值的方法,它不会由于本地环境的改变而 发生变化。若是是为了返回时间类型的数据,推荐使用LocaleString()。如果在后台 处理字符串,请务必使用toString()。
相关文章
相关标签/搜索