JavaScript中的單引號和雙引號報錯的解決方案,javascript雙引號

來源:互聯網
上載者:User

JavaScript中的單引號和雙引號報錯的解決方案,javascript雙引號

在使用JavaScript顯示訊息或者傳遞字元資料的時候,經常會碰到資料中夾雜單引號(')或者雙引號("),這種語句往往會造成JavaScript報錯。對此一般採用/'或者/"的解決。

例如:

Alert("this is test "message"!"); Alert('this is test 'message'!');

一般會改成以下語句

Alert("this is test /"message/"!"); //或者 Alert("this is test 'message'!"); Alert('this is test /'message/'!');

以上如果只在指令碼中使用或者沒有太複雜的資料字元串連,則已經解決了這個問題。

但是如果存在比較複雜的資料字元串連的時候,特別是某些由伺服器組合的JavaScript語句時候可以考慮將單引號(')和者雙引號("),用逸出序列(escape sequence )輸出。

例如上面的語句可以轉變成以下的格式:

Alert("this is test /u0022message/u0022!"); Alert('this is test /u0027message/u0027!');

補充一些常用的編碼

字元說明 Unicode 逸出序列
長破折號 (—) /u2014
註冊符號 (R) /u00AE
著作權符號 (c) /u00A9
商標符號 (?) /u2122
歐元符號 (€) /u20AC
反斜線 (/) /u005C
正斜杠 (/) /u002F
左大括弧 ({) /u007B
右大括弧 (}) /u007D
小於符號 (<) /u003C
大於符號 (>) /u003E
星號 (*) /u002A
& &
' '(/u0027)
" "(/u0022)
< <
> >


javascript裡單引號雙引號無引號的不同

js裡單引號和雙引號沒區別的。
var dang =()是錯誤的
var dang =('') 和var dang =''是一樣的
var dang =("")和var dang ="" 是一樣的
上面之所以一樣,就好比你做連加運算,多幾個括弧沒任何問題。
{}是js中Object的簡單寫法,var dang={}和var dang=new Obejct()一樣。
[]是js中Array的簡單寫法,var dang=[]和var dang=new Array()一樣。

樓上的只有1、2點是說到點子上了的。
 
在JavaScript中雙引號"與單引號'有什詳細的不同?

單引號和雙引號其實沒啥區別,看你自己習慣了

<input type="button" onclick="alert("1")">-------------------不正確
<input type="button" onclick="alert('1')">-------------------正確

雙引號中再用雙引號要這樣:
var str = "abc\"def\"ghi"
用反斜線來禁止解析雙引號。

下面是我摘錄的,希望對你有用:
在一個網頁中的按鈕,寫onclick事件的處理代碼,不小心寫成如下:
<input value="Test" type="button" onclick="alert(""OK"");" />
IE提示出錯後,再漫不經心地改為:
<input value="Test" type="button" onclick="alert(\"OK\");" />
結果還是出錯。
這時,我就想不通了,雖然我知道最直接的解決方案是寫成這樣:
<input value="" type="button" onclick="alert('OK');" />
但為什麼javascript中的逸出字元\沒有效果了呢?
後來找到一段正常的代碼:
<input value="Test" type="button" onclick="alert("OK");" />
這時才理解,原來這時,還是歸於HTML的管轄範圍,所以逸出字元應該使用HTML的,而不是javascript的。兩個雙引號的做法是vbScript的,\"這種做法則是javascript的,而HTML的,則是用",此外還可以使用:"、'。
下面列出各種表達方法:
<html>
<body>
<input value="外雙引號內雙引號-錯誤" type="button" onclick="alert("OK");" /><br />
<input value="外單引號內單引號-錯誤" type="button" onclick='alert('OK');' /><br />
<input value="兩個雙引號-錯誤" type="button" onclick="alert(""OK"");" /><br />
......餘下全文>>
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.