js中toString和valueOf方法的区别

时间:2023-03-08 17:36:33

toString 方法

返回对象的字符串表示形式。

语法:objectname.toString([radix])

objectname

必需。要为其搜索字符串表示形式的对象。

radix

可选。为将数字值转换为字符串指定一个基数。此值仅用于数字。

toString 方法是一个所有内置的 JavaScript 对象的成员。它的行为取决于对象的类型:

Object

行为

数组

Array 的元素转换为字符串。结果字符串被连接起来,用逗号分隔。

布尔值

如果布尔值为 true,则返回“true”。否则返回“false”。

日期

返回日期的文本表示形式。

错误

返回一个包含相关错误信息的字符串。

函数

返回如下格式的字符串,其中 functionname 是一个函数的名称,此函数的 toString 方法被调用:

function functionname( ) { [native code] }

Number

返回数字的文字表示形式。

字符串

返回 String 对象的值。

默认

返回 "[object objectname]",其中 objectname 为对象类型的名称。

valueOf 方法

返回指定对象的基元值。

语法:object.valueOf()

必需的 object 引用是任何内部 JavaScript 对象。

将通过不同的方式为每个内部 JavaScript 对象定义 valueOf 方法。

Object

返回值

数组

返回数组实例。

布尔值

布尔值。

日期

从 UTC 1970 年 1 月 1 日午夜开始的存储的时间值(以毫秒为单位)。

函数

函数本身。

Number

数字值。

Object

对象本身。这是默认值。

字符串

字符串值。

MathError 对象都没有 valueOf 方法。

toLocaleString 方法

返回使用当前区域设置转换为字符串的日期。

语法:dateObj.toLocaleString()
所需的 dateObj 是任意 Date 对象。

toLocaleString 方法返回一个 String 对象,此对象包含以当前区域设置的长默认格式编写的日期。

  • 对于公元 1601 和 1999 之间的日期,其格式将根据用户在“控制面板”中选择的“区域设置”确定。

  • 对于此范围之外的日期,将使用 toString 方法的默认格式。

例如,在美国,toLocaleString 为 1 月 5 日返回“01/05/96 00:00:00”。在欧洲,它将为同一日期返回“05/01/96 00:00:00”,因为欧洲惯例是将日置于月份之前。

js中toString和valueOf方法的区别注意

toLocaleString 应当仅用于向用户显示结果;决不可将它用作脚本中计算的基础,因为返回的结果因计算机而异。