toString()和valueOf()方法的使用

吐槽君 分类:实例代码

通常来说这两个方法用来将一个对象转换为对应的字符串或者数字。

代码实例如下:

var arr = ["前端教程网", "www.pipipi.net"];
var date = new Date();
console.log(arr.toString());
console.log(date.valueOf());

上面的实现了对应的转换效果。

但是并不是所有对象的toString()和valueOf()都能够实现转换效果。

代码实例如下:

var obj = {
  webName: "前端教程网",
  url:"www.pipipi.net"
}
var arr = [1, 2];
console.log(obj.toString());
console.log(arr.valueOf());

很明显上面的代码并没有实现相应的转换效果,下面做一下说明。

toString()和valueOf()方法默认是继承而来,比如Object对象对象只是简单继承了这两个方法,数组、函数和正则表达式对象也是简单继承了valueOf()方法,所以调用此方法并不会返回对应的数字,而是返回对象本身(从情理也可以理解,因为对象毕竟是复合属性,很难有一数字能够表示这个对象)。数组等对象对对继承的toString()方法进行了重写。

隐式数据类型转换的时候如何调用:

这部分内容这里就不多介绍了,具体可以参阅javascript数据类型隐式转换简单介绍一章节后半部分。

toString()和valueOf()方法的使用,这样的场景在实际项目中还是用的比较多的,关于toString()和valueOf()方法的使用就介绍到这了。

toString()和valueOf()方法的使用属于前端实例代码,有关更多实例代码大家可以查看

回复

我来回复
  • 暂无回复内容