使用valueOf / toString

时间:2018-08-01 19:55:25

标签: javascript arrays tostring value-of

我环顾四周,但找不到明确的答案。.我是Java语言的新手,所以希望能以简单的术语找到答案

我正在学习toString / valueOf,它们被描述为实质上是在做相同的事情

有人可以解释为什么根本需要使用这些内容吗?例如。在下面的代码中,如果 document.write(array); 将执行相同的操作,为什么还需要valueOf / toString?

var array= ["James Jones", "123 Street", 500.20];

document.write(array.toString());

3 个答案:

答案 0 :(得分:2)

Array.prototype.valueOf将返回与Array(对象)相同的结果。 toString会将Array转换为可写入文档的字符串。

toString还将其他对象类型转换为字符串。

var array = [1, 2, 3];
console.log("Value of:",array.valueOf());
console.log("Array: ", array);
console.log("toString: ", array.toString());

答案 1 :(得分:0)

这是因为write()不能将数组用作方法的输入。为了使用该方法,必须首先将数组转换为字符串。

通常来说,诸如toString的valueOf之类的方法用于将一种对象类型的值转换为另一种对象类型的值。例如,在将字符串转换为整数时,例如将“ 23”转换为23时,将使用valueOf。相反,toString的作用相反,将23转换为“ 23”。

希望这会有所帮助!

答案 2 :(得分:0)

  

有人可以解释为什么这些根本需要使用吗?

在大多数情况下,您不必使用它们。在很多情况下,js会(隐式地)为您调用它们,但是将它们定义为方法可以让您自定义它们:

 alert({ toString() { return "whats going on?"; } });
相关问题