2016-06-21 73 views
1

我想了解爲什麼你會在字符串上使用toString()。爲什麼你會使用string.toString()?

tutorialspoint.com給出了這個example

<html> 
    <head> 
    <title>JavaScript String toString() Method</title> 
    </head> 

    <body> 

    <script type="text/javascript"> 
     var str = "Apples are round, and Apples are Juicy."; 
     document.write(str.toString()); 
    </script> 

    </body> 
</html> 

爲什麼不直接使用

document.write(str); 
+1

這只是一個例子....其實沒有什麼可以做'的toString()'....也有即將返回值說明___Returns表示指定對象的字符串。 ___。另外我會一直比較喜歡__ [MDN文檔](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString)__ –

+1

糟糕的文檔,請看看[真正的文檔](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString) – Gintoki

+0

他們只想解釋對象的toString方法,如果你是字符串對象 – ThiepLV

回答

1

toString()方法沒有任何實際意義時調用「純」sring,如"Apples are round, and Apples are Juicy."
當您需要獲取某些非字符串值的字符串表示形式時,它可能很有用。

// 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()方法相同。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toString

0

有沒有區別。我認爲他們使用toString函數只是爲了強調它的存在。 javascript中的每個對象都有一個toString函數,因爲它在Object的原型上定義,如解釋here

區別在於String類型覆蓋原始toString函數,否則結果將爲「[object String]」。

1

即使您不使用toString函數,也會調用(隱式)以獲取用於document.write()函數的值。

+0

我認爲答案更有用,你應該描述'toString''實際做了什麼(當它被隱式或顯式調用時)。最好的祝福。 – YakovL

相關問題