首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

JavaScript 原樣輸出包含反斜杠的字符串:模板字面量與 String.raw

     編輯:程式設計綜合問答

問題

var url = "E:\itcast\class\php\js\day2\abc.html"; alert(url); 彈出內容中反斜杠被轉義(如 \t → Tab),需原樣顯示。

現代解法(ES6+)

1. 模板字面量 + String.raw

const url = String.raw`E:\itcast\class\php\js\day2\abc.html`;
alert(url); // 原樣輸出,反斜杠保留
  • String.raw 標籤函數禁用模板字面量中的轉義。

2. 雙重反斜杠(傳統寫法)

var url = "E:\\itcast\\class\\php\\js\\day2\\abc.html";
alert(url);

動態字符串原樣輸出

若字符串來自變量/輸入,無法用字面量:

function escapeBackslashes(str) {
    return str.replace(/\\/g, '\\\\');
}
var raw = escapeBackslashes(userInput);
alert(raw);

總結

ES6 String.raw`...` 是**最優雅、零轉義**的原樣輸出方式。舊環境用雙重反斜杠或 replace 轉義。理解「字面量寫法」與「運行時字符串內容」的區別是關鍵。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved