小弟初學JS,自己看書看到像這樣的程式碼
var msg = '<div class="header"><a id="close" href="#">close X';
msg += 'System Maintenance';
msg 是一整個字串 但 "header" "close" 是什麼用法? 不太懂書的前面好像有提到,但是不太懂他的意思
「\」就是所謂的拖位符,不只是在javscript上,其實很多程式開發語言都有這樣的處理方式。
拖位符的用法情況,要說的話。
就是它會將其後接下來的字元,不會將其當成語法使用。
如正常來說「""」是屬於一種字串的表示方式。其包起來的字元就是要拿來當做字串。
若是字串中,也需要用到「"」的話。你直接打如下面的情況
str = "ABCDE"GHGHJ";
程式語法分析,會自動用第一個「"」與第二個「"」包起來的做為字串。
也就是會變成
str = "ABCDE"
GHGHJ";
從這樣子看來,這一定是個錯誤的。
所以正常的用法是
str = "ABCDE\"GHGHJ";
這樣子其中間的\"就會視為是字串「"」而不會拿來當程式字元用。
這是基本的知識喔!!幾乎所有的程式語言都是這樣子用。
我是指為何要在JS與法裡面 \ "header " "close"
像這樣反斜線? 不知為何剛剛發文沒跑出來
你是說像這樣嗎?
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";