Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么要使用string.toString()?_Javascript - Fatal编程技术网

Javascript 为什么要使用string.toString()?

Javascript 为什么要使用string.toString()?,javascript,Javascript,我试图理解为什么要在字符串上使用toString() tutorialspoint.com给出了这一点 没有区别。我认为他们使用toString函数只是为了强调它的存在。javascript中的每个对象都有一个toString函数,因为它是在object的原型上定义的,就像前面解释的那样 区别在于String类型重写了原始的toString函数,否则结果将是“[对象字符串]”即使您不使用toString函数,也会调用它(隐式地)以获取用于文档的值。write()函数。toString()方法在调

我试图理解为什么要在字符串上使用toString()

tutorialspoint.com给出了这一点


没有区别。我认为他们使用
toString
函数只是为了强调它的存在。javascript中的每个对象都有一个
toString
函数,因为它是在
object
的原型上定义的,就像前面解释的那样


区别在于
String
类型重写了原始的
toString
函数,否则结果将是“
[对象字符串]

即使您不使用
toString
函数,也会调用它(隐式地)以获取用于
文档的值。write()
函数。

toString()
方法在调用“纯”sring时没有任何实际意义,例如
“苹果是圆的,苹果是多汁的。”

当您需要获取一些非字符串值的字符串表示时,它可能很有用

// Example:
var x = new String(1000);   // converting number into a String object

console.log(typeof x);             // object
console.log(typeof x.toString());  // string
console.log(x.toString());         // "1000"
字符串对象覆盖对象的toString()方法 对象它不继承Object.prototype.toString()。对于字符串 对象,则toString()方法返回 对象,与String.prototype.valueOf()方法相同


字符串。如果您不能完全确定是否可以得到一个数字或字符串,并且如果您确实需要一个字符串来进行其他计算,例如字符串函数,如
。includes
。split

这只是一个示例。。。。实际上,与
toString()
无关。。。。还有关于返回值的说明,返回表示指定对象的字符串。另外,我更喜欢糟糕的文档,看看a,他们只想解释object的toString方法,哪个字符串是Objective如果您不确定它是字符串,toString()会将其转换为一个…我认为这是一个好的、深刻的、重要的问题,谢谢您的提问!!我也很好奇,我只是在谷歌上搜索。我的猜测是这样的:特别是在弱类型语言中,实现甚至退化和平凡的函数来确保它们的存在是有意义的,因为当你不知道它将是退化和平凡的,比如当你实际上不知道
str
的类型时。这感觉“不纯”和实用,因此非常javascripty。我认为为了让答案更有帮助,您应该描述
toString
实际做了什么(当它被隐式或显式调用时)。最好的问候。动态打字。我刚刚遇到了一个问题,库将字符串转换为数字,而浏览器没有。我使用
v.toString()
来确保任何无意中被强制转换成数字的内容都被强制转换回字符串。
document.write(str);
// Example:
var x = new String(1000);   // converting number into a String object

console.log(typeof x);             // object
console.log(typeof x.toString());  // string
console.log(x.toString());         // "1000"