JS中的單引號和雙引號

來源:互聯網
上載者:User

標籤:sub   bin   嵌套   ref   name   情況   var   通過   empty   

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中的單引號和雙引號

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.