不同类型调用toLocaleString效果不同

Array

会循环调用每一个元素的toLocalString方法(根据时区来定,不同时区的分隔符可能不一样),然后用逗号拼接起来

  1. let a = [3,4,'d']
  2. a.toLocaleString() // '3,4,d'
  3. a = [3,5,[5,'a']]
  4. a.toLocaleString() // '3,5,5,a'

Boolean

Boolean没有toLocalString方法,但是调用也不会报错的,形如toString方法

  1. let s = true
  2. s.toLocaleString() // 'true'

Date

对于Date类型,会进行本地规则进行转换

  1. s = new Date()
  2. s.toString() //'Sat Mar 26 2022 16:26:28 GMT+0800 (中国标准时间)'
  3. s.toLocaleString() //'2022/3/26 16:26:28'

Number

对于Number,会进行一些格式转换

  1. s = 34324343
  2. s.toString() //'34324343'
  3. s.toLocaleString() //'34,324,343'
  1. let cur = 100000001111;
  2. cur.toLocaleString("zh", { style: "currency", currency: "CNY" }); // '¥100,000,001,111.00'
  1. let s = 0.14;
  2. s.toLocaleString("zh", { style: "percent" }); // '14%'