2009-06-03 19 views
52

我看到this question,我想知道在JavaScript同樣的事情。之間有什麼「和「在JavaScript?

如果使用字符」或字符」做在JavaScript字符串時,應用程序的區別似乎表現相同。那麼這兩個角色有什麼區別?

我使用'打造字符串所看到的唯一的好處就是我可以做的東西,如:

var toAppend = '<div id="myDiv1"></div>'; 

相反的:

var toAppend = "<div id=\"myDiv1\"></div>"; 

他們之間有任何顯著的差異,我應該意識到?

回答

63

它們對於所有意圖和目的都是等價的。如果您想在字符串中使用任何一個字符串,那麼使用另一個字符串來創建字符串是一個好主意,正如您所記下的那樣。除此之外,它們都是一樣的。

17

沒有區別。之所以它的存在是你提到的正是

-1

你舉的例子是描述兩者之間的差別....

2

我覺得還有另外一個區別最好的例子。如果你這樣做

var str1 = 'The \' character'; 
var str2 = 'The " character'; 
var str3 = "The ' character"; 
var str4 = "The \" character"; 
document.write (str1.replace("'","%26"); 
document.write (str2.replace('"',"%22"); 
document.write (str3.replace("'","%26"); 
document.write (str4.replace('"',"%22"); 

document.write將失敗的str1和str4。這是區別,但我不知道是否有一個解決方法,使他們的工作。

+1

在哪個瀏覽器中執行那些document.writes失敗?我沒有讓他們失敗。 (一旦我將足夠的右括號放入該代碼中) – 2013-06-21 08:30:03

33

雖然在技術上不是Javascript的區別,但值得注意的是單引號字符串本身是not valid JSON。我認爲人們會自動假設由於JSON是有效的JS,所以有效的JS字符串也是有效的JSON,which isn't necessarily true

例如,{'key': 'Some "value"'}不是有效的JSON,而​​是。

2

良好做法,根據Mozilla的,是用「」在HTML(其中「」不能使用),同時保留「在Javascript」(其中兩個「」和「」可以用漠然)...

+0

單引號可以用於HTML:http://stackoverflow.com/questions/273354/are-single-quotes-allowed-in-html – 2013-12-26 09:48:37

相關問題