iT邦幫忙

0

JavaScript變數值得斜線

小弟初學JS,自己看書看到像這樣的程式碼
var msg = '<div class="header"><a id="close" href="#">close X';
msg += 'System Maintenance';

msg 是一整個字串 但 "header" "close" 是什麼用法? 不太懂書的前面好像有提到,但是不太懂他的意思

2 個回答

0
浩瀚星空
iT邦新手 2 級 ‧ 2018-05-09 16:13:19
最佳解答

「\」就是所謂的拖位符,不只是在javscript上,其實很多程式開發語言都有這樣的處理方式。
拖位符的用法情況,要說的話。

就是它會將其後接下來的字元,不會將其當成語法使用。
如正常來說「""」是屬於一種字串的表示方式。其包起來的字元就是要拿來當做字串。
若是字串中,也需要用到「"」的話。你直接打如下面的情況

str = "ABCDE"GHGHJ";
程式語法分析,會自動用第一個「"」與第二個「"」包起來的做為字串。
也就是會變成
str = "ABCDE"
GHGHJ";

從這樣子看來,這一定是個錯誤的。

所以正常的用法是
str = "ABCDE\"GHGHJ";

這樣子其中間的\"就會視為是字串「"」而不會拿來當程式字元用。

這是基本的知識喔!!幾乎所有的程式語言都是這樣子用。

2
kksugsay
iT邦新手 1 級 ‧ 2018-05-09 13:18:37

/images/emoticon/emoticon56.gif

看更多先前的回應...收起先前的回應...

我是指為何要在JS與法裡面 \ "header " "close"
像這樣反斜線? 不知為何剛剛發文沒跑出來

wingkawa iT邦新手 5 級 ‧ 2018-05-09 13:37:02 檢舉

你是說像這樣嗎?

var msg = '<div class=\"header\"><a id=\"close\" href=\"#\">close X';
msg += 'System Maintenance';

反斜線是跳脫字元的意思,這邊用到的就是這玩意(看程式設計與資料格式)WIKI
你舉例的例子看不出用途,假設你用雙引號來包住字串內容的話

var msg = "<div class=\"header\"><a id=\"close\" href=\"#\">close X";

裡面的雙引號若不跳脫出來,字串就整個亂了,變成

var msg = "<div class="
// 這裡開始,後面就會語法錯誤
header"><a id="close" href="#">close X";
kksugsay iT邦新手 1 級 ‧ 2018-05-09 13:47:46 檢舉

/images/emoticon/emoticon56.gif

所以用單雙引號分開 讓他可以了解 或是使用跳多字元 反斜線的方式囉??
反斜線我還是不太懂,找時間再去看K大提供的資料,感謝您細心的回答~

kksugsay iT邦新手 1 級 ‧ 2018-05-09 14:54:02 檢舉

/images/emoticon/emoticon56.gif

為什麼K大把之前的回答內容都清掉@@

我要發表回答

立即登入回答