toString()、toLocaleString()和valueOf()的区别

Table of Contents

注意没有toLocalString()这种方法

这几个方法主要在两种数据类型中使用
* 引用类型:Object, Array, Date
* 基本数据类型:Number, Boolean
其中只在:DateNumber这两种类型中有区别

Date类型

var a = new Date();
console.log(a.toString()); // Thu Jul 04 2019 22:42:17 GMT+0800 (China Standard Time)
console.log(a.toLocaleString()); // 7/4/2019, 10:42:17 PM
console.log(a.valueOf());  // 1562251337216

Number类型

var a = new Number(1000);
console.log(a.toString()); //1000
console.log(a.toLocaleString()); //1,000
console.log(a.valueOf()); //1000

总结

  • toString()方法获取的是String(传统字符串),而toLocaleString()方法获取的是LocaleString(本地环境字符串)。
  • 如果你开发的脚本在世界范围都有人使用,那么将对象转换成字符串时请使用toString()方法来完成。
  • 如果是为了返回时间类型的数据,推荐使用LocaleString()。
  • 若是在后台处理字符串,请务必使用toString()。