JavaScript中的单引号和双引号其实没啥区别,看你自己习惯了。但若双引号中再使用双引号,我们可采取"外双内单"或者"外单内双"的格式;如果需要的是双引号本身,则只能是"外单内双":
console.log("这是'外双内单'的用法"); //这是'外双内单'的用法 console.log('这是"外单内双"的用法'); //这是"外单内双"的用法 console.log("这是"单引号和双引号'的错误用法'); //错误
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,它们不是一样的字符串