[英]Escape Javascript String in Double Quotes
好吧,我的雙引號里有一長串
var Variable = "Really Long ...... String"
我想這樣做
var Variable = "Really
Long
......
String"
目前,我正在這樣做
var Variable = "Really\n\
Long\n\
......\n\
String"
它可以在所有瀏覽器上正常工作。 但這是正確的方法嗎?
我認為使用加號可能會更有效。
var Variable = "Really " +
"Long " +
"...... " +
"String";
在上面的示例中,例如,您如何知道單詞“ Long”前有多少空格? 我不希望在瀏覽器之間保持一致。
我的理解是,使用加號來連接字符串同樣有效……JavaScript解析器足夠聰明,可以像示例一樣處理該方法。
我建議只加入它。
var str = [
'This is a very long piece ',
'of string that I\'m going to join together ',
'right about now.'
].join('')
您可以使用數組並連接值。 但是我不確定性能。 如果您使用字符串連接,引擎可以(很可能會)對其進行優化(這意味着它在解析代碼時會生成一個字符串),但是引擎是否很聰明以發現與數組的簡單連接。不要這樣
var Variable = ["Really ",
"Long ",
"...... ",
"String"].join('');
JavaScript不像PHP那樣支持“此處文檔”,因此您做得更好。 但是,您將在各行的開頭加上很多空格(如果您按此處顯示的方式縮進代碼)。 為了避免這種情況,請使用字符串串聯:
var Variable = "Really\n" +
"Long\n" +
"String";
或數組聯接(如meder建議):
var Variable = [
"Really",
"Long",
"String"
].join('\n');
LineContinuation是ECMA-262第5版(第7.8.4節)的新功能。 如果您絕對必須遵守ECMAScript 3,請避免使用它,並使用+
或.join('')
或其他方法。 但是正如您已經提到的那樣,主要的瀏覽器(甚至是IE 6)都支持此特殊功能[1] ,除了有編碼約定外,我沒有其他理由避免使用此功能。
(參考:[1] http://shwup.blogspot.com/2009/05/line-continuation-in-javascript.html )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.