2009-05-26 15 views
1

我有一個功能,說:將任何JavaScript值轉換爲字符串的最短途徑是什麼?

setValue: function(myValue) { 
    ... 
} 

調用者可能傳遞一個字符串,數字,布爾值或對象。我需要確保進一步傳遞的值是一個字符串。這樣做最安全的方法是什麼?我意識到有一些類型(例如Date)可以轉換爲字符串的方法很多,但我只是在尋找合適的開箱即用的方法。

我可以寫一個系列的typeof聲明:

if (typeof myValue == "boolean") {} 
else if() {} 
... 

但是,這可能是容易出錯的類型,可能會錯過。

火狐似乎支持寫的東西,如:

var foo = 10; foo.toString() 

但是,這是要與所有網絡瀏覽器的工作?我需要支持IE 6以上。

總之,在涵蓋每一種類型的同時進行轉換的最短途徑是什麼?

-Erik

+2

這個課題已進行過討論:http://stackoverflow.com/questions/869773/what-is-the-fastest-and-safest-way-to -convert-任何類型的可變到字符串中的Java – 2009-05-26 18:13:05

回答

9
var stringValue = String(foo); 

,甚至更短的

var stringValue = "" + foo; 
3
value += ''; 
0

什麼有關強制的字符串內容,例如: 「」 +富?

2

如果您使用myValue作爲字符串,則Javascript會將其轉換爲字符串。如果您需要提示您正在處理字符串的Javascript引擎(例如,使用+運算符),則可以安全地在IE6中使用toString。

0

還有一種方法是這樣的:

var stringValue = (value).toString(); 
相關問題