valueOf() 方法的作用是返回对象的原始值。作用于数组对象、Boolean对象、Date()的valueOf方法 、数字对象、字符串对象等。可以说,所有可以实例化的对象都有ValueOf方法。
初看到这个方法的时候我一脸???。对象的原始值,难道,此时的对象不是原始值吗?
让我们来看看各类对象的返回的值。
对象类型 | 返回值 |
Array | 返回数组值。 |
Boolean | true或者false。 |
Date |
Number。 (单位为毫秒,返回值和方法 Date.getTime 返回的值相等,返回1970年1月1日午夜以来的毫秒数)。 |
Number | 一个原始值。(valueOf方法可以字符串返回数字) |
String | 字符串的返回值。 |
Date 对象
1 var d = new Date(); 2 console.log('data=>' , d); 3 console.log('data=>' , d.valueOf());
输出的值:
data=> Wed Sep 01 2021 20:47:47 GMT+0800 (中国标准时间)
index.html:11 data=> 1630500467902
原来对象为Date时,获取到的是毫秒。是不是可以这么理解,valueOf方法相当于告诉我们它在JavaScript中存储的值是什么。
好吧,在下才疏学浅,不了解这个方法为什么会出现,似乎是在较早的版本中就有了。只能简单的记录一下了。
参考网址
- JavaScript Array 对象: https://www.runoob.com/jsref/jsref-obj-array.html
- JavaScript Boolean对象 : https://www.runoob.com/jsref/jsref-obj-boolean.html
- JavaScript Date对象:https://www.runoob.com/jsref/jsref-obj-date.html
- JavaScript的Number对象:https://www.runoob.com/jsref/jsref-obj-number.html
- JavaScript String对象: https://www.runoob.com/jsref/jsref-obj-string.html