關於JS中的轉義字元
JS裡面的單引號和雙引號可以同時使用,但是要遵循一定的準則。
最外面用了雙引號了,那麼裡面就不能再用雙引號了,因為引號是成雙對的,瀏覽器讀到一個雙引號後,到第2個雙引號時才算結束;同理,瀏覽器讀到一個單引號後,必須要讀到第二個單引號才算結束,
不管是單引號還是雙引號,裡面都可以套相反的引號,但是不可以雙引號裡面套單引號,這個單引號再套雙引號,這是不行的。
如果在引號裡面使用相同的引號,需要用 \ 轉義。
單引號轉義為\'
單引號轉義為\"
單引號和雙引號之間的字串可以相加
'af'+"bvvv"+'dd'
輸出 "afbvvvdd"
還有一種情況,,這裡的單引號也是字串的一部分
"<div class='con"+"tent'></div>"
輸出 "<div class='content'></div>"
從程式碼編譯的角度說的話,單引號在JS中被瀏覽器(IE,Chrome,Safari)編譯的速度更快(在FireFox中雙引號更快)。
來看一些案例
首先,單引號和雙引號在各自單獨用時是木有什麼區別的,都可以,比如:
var a="你好";//雙引號,變數a的內容是字串 你好
var b='你好';//單引號,變數b的內容是字串 你好
console.info(a===b);//輸出true,它們本質都是一樣的字串
其次,單引號和雙引號混合使用時,這時候要特別注意了,這種情況一般出現在js拼接字串裡面,或者html元素的屬性裡面,就以JS為例吧,都是一樣的規則:單引號和雙引號必須成雙成對的出現,可以單引號在外面,也可以雙引號在外面:
var a="'你好'";//這裡變數a的內容就是字串'你好',這裡的單引號也是字串的一部分
var b='"你好"';//這裡變數b的內容就是字串"你好",這裡的雙引號也是字串的一部分
console.info(a===b);//輸出false,它們不是一樣的字串
接下來來個稍微複雜點的,我們來看下字串拼接:
var _html="<div class='content'></div>";/*這裡是最外面用了雙引號了,那麼裡面就不能再用雙引號了,因為引號是成雙對的,瀏覽器讀到一個雙引號後,到第2個雙引號時才算結束;同理,瀏覽器讀到一個單引號後,必須要讀到第二個才算結束*/
//上面的程式碼也可以寫作:_html='<div class="content"></div>';
//如果你只想用一種引號的話,你級需要對裡面的引號進行**轉義處理**,告訴瀏覽器裡面的引號是一個字串,而不是引號結束符,比如:
_html='<div class=\'content\'></div>';
再來個拼接字串的:
var data={name:"小明",age:18};
var _html="<div class='info'>我的名字叫"+data.name+",我今年"+data.age+"歲了<div>"
console.info(_html);//我的名字叫小明,我今年18歲了
//很明顯了,按照之前說的,引號在讀到首個雙引號字串的時候,把它當做這個變數的
//內容開始處理,然後到第二個雙引號那裡結束,即: "<div class='info'>我的名字叫"
/*然後通過加號拼接變數 data.name, 拼接好了後繼續用加號拼接字串 ",我今年"
以此類推。。。
一個特別複雜的例子
想要輸出這段HTML
<template v-for="aodo in aodos">
<li class="mui-table-view-cell" v-bind:fundcodeli="aodo.assetCode">
<span class="column-a" v-text="aodo.assetName.substring(0,6)"></span>
<span class="column-b" v-text="aodo.setupDate.substring(0,4)+'-'+aodo.setupDate.substring(4,6)+'-'+aodo.setupDate.substring(6,8)"></span>
<span class="column-c" v-text="aodo.investType.substring(0, aodo.investType.length - 2)"></span>
<span class="column-d mui-icon mui-icon-closeempty"></span>
</li>
</template>
JS裡面必須這樣寫:
var str="<template v-for='aodo in aodos'><li class='mui-table-view-cell' v-bind:fundcodeli='aodo.assetCode'><span class='column-a' v-text='aodo.assetName.substring(0,6)'></span><span class='column-b' v-text='aodo.setupDate.substring(0,4)"+'+"-"+'+"aodo.setupDate.substring(4,6)"+'+"-"+'+"aodo.setupDate.substring(6,8)'></span><span class='column-c' v-text='aodo.investType.substring(0, aodo.investType.length - 2)'></span><span class='column-d mui-icon mui-icon-closeempty'></span></li></template>";
fundListUl.innerHTML = str;
**總結下**:引號(同類型的引號,單引號和雙引號是不同型別)是成雙對的,在讀第一個引號時開始,讀到第二個結束,遇到第三個又開始,第四個又結束。。。;
不同型別引號之間可以巢狀,最多2層(當然通過轉義可以繼續往下套,但是因為可讀性太差,不要這樣做);
*/
相關推薦
js中替換字串中轉義字元"\"的方法
查詢替換功能非常強大,但模板難記複雜。 JavaScript中String物件的match()、replace()這2個方法都要使用正則表示式的模板。當模板內容與字串不相匹配時,match()返回null,replace()返回原字串。 模板的用法是關鍵。flag:
160311、mybatis sql語句中轉義字元
問題: 在mapper ***.xml中的sql語句中,不能直接用大於號、小於號要用轉義字元 解決方法: 1、轉義字串 小於號 < < 大於號 >
Android中轉義字元
下面是android中需要轉義的表: 字元 ASCII碼 轉義字元 “ " " & & &
android xml中轉義字元的使用
如果一段文字需要多個TextView拼貼,比如:“我叫XXX,今年XX歲了,身高X.X米”; 可以考慮引用string.xml檔案中預定義的字串拼接實現. 例子: 1.在string.xml中先定義好格式 <string name="hello">St
《C語言及程式設計》資料——C語言中轉義字元
下面是C語言中的轉義字元及其意義:轉義字元意義ASCII碼值(十進位制)\a響鈴(BEL)007\b退格(BS) ,將當前位置移到前一列008\f換頁(FF),將當前位置移到下頁開頭012\n換行(LF
Java中轉義字元反斜槓 \ 的代替方法 | repalceAll 內涵解析
一、需求 現有一個字串str String str = "{\\\"name\\\":\\\"spy\\\",\\\"id\\\\":\\\"123456\\\"}"; System.out.println("str = " + str); 在控制檯的
Java中轉義字元
JAVA中轉義字元: 1.八進位制轉義序列:\ + 1到3位5數字;範圍'\000'~'\377' \0:空字元 2.Unicode轉義字元:\u + 四個十六進位制數字;0~65535 \u0000:空字元 3.特殊字元:就3個 \":雙引號 \'
java中轉義字元(回車\r\n)的替換 反轉義
原出處:http://www.51itong.net/java-string-rn-209.html 有一個的字串,列印的結果如下: hello \r\n world 現在要把其中的 \r\n 替換為正常的回車,再次的列印即為: hello world 可以用
Java| Java中轉義字元和路徑符
在java的實際開發中,經常會遇填寫一個檔案的相對路徑或者是絕對路徑的問題,對於初學者來說,經常犯難的是到底是用\ 還是用/的問題,本文將徹底解決這個問題的困擾. 先來看要下路徑符號在windows系統和再linux系統寫的顯示使用的區別: Windows下
關於JS中的轉義字元
JS裡面的單引號和雙引號可以同時使用,但是要遵循一定的準則。最外面用了雙引號了,那麼裡面就不能再用雙引號了,因為引號是成雙對的,瀏覽器讀到一個雙引號後,到第2個雙引號時才算結束;同理,瀏覽器讀到一個單引號後,必須要讀到第二個單引號才算結束,不管是單引號還是雙引號,裡面都可以套相反的引號,但是不可以雙引號裡面套
js中,“\”轉義字元的使用
(1)針對雙引號“”的使用:html= "<a href=\"javascript:void(0)\" onclick=\"getSubContent('" +(choices[next])[0]+ "','" +(choices[next])[1]+ "','" +(
xml檔案中特殊字元轉義
在使用mybatis/ibatis寫sql時總是忘記特殊轉義表示,在此記錄 左邊為xml特殊符號,右邊是轉義 < <> >& &
Android json資料中有轉義字元
對於Android來說 也許伺服器寫的資料 並不如意,但是我們要逐個擊破,例如這個資料 { "code": "200", "message": "OK", "result": {
C語言中的轉義字元
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
Python 轉義字元中沒有這個 「\e」 !
問題來源於技術交流群裡: 常見的轉義字元 \n、\t 之類的我們都知道什麼意思,但是這個 \e 是什麼意思呢? 抱著一股鑽研的精神,我搜了一把。 結果,所有的頁面裡都是隻有一句簡單的 \e 代表轉義。 然後呢? 不要舉個例子嗎? 他們不給例
Markdown中特殊字元的轉義字元
上次在用Markdown記筆記時,當正文中寫到<PROJECT>_<PATH>_<FILE>_H_時,<>裡的內容顯示顯示不出來,就算用' '也顯示不出來。後想起Markdown支援html語法,這樣的寫法(<>或<\>)與html語法衝
JS中字元問題 二進位制/十進位制/十六進位制及ASCII碼之間的轉換
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
thymeleaf 中onclick動態傳參用到轉義字元
<a href="javascript:void(0)" th:onclick="'javascript:del(\''+${product.id}+'\')'">刪除</a> th:onclick="'javascript:del(\'&nb
js 判斷一個字元在字串中出現次數
思路:利用indexOf函式來判斷這個字元在字串中是否存在,為-1則存在,否則繼續 //檢測一個字元在字串中出現次數,引數字串,一個字元,返回字串出現的次數 function strCharPosition(str, char) { var pos; va
HTML轉義字元防止js程式碼注入攻擊
什麼是js注入攻擊 有的時候頁面中會有一個輸入框,使用者輸入內容後會顯示在頁面中,類似於網頁聊天應用。如果使用者輸入了一段js指令碼,比例:,頁面會彈出一個對話方塊,或者輸入的指令碼中有改變頁面js變數的程式碼則會時程式異常或者達到跳過某種驗證的目的 什麼是ht