JS里面的单引号和双引号可以同时使用,但是要遵循一定的准则。

最外面用了双引号了,那么里面就不能再用双引号了,因为引号是成双对的,浏览器读到一个双引号后,到第2个双引号时才算结束;同理,浏览器读到一个单引号后,必须要读到第二个单引号才算结束,

单引号和双引号之间的字符串可以相加

'af'+"bvvv"+'dd'

输出 "afbvvvdd"

还有一种情况,,这里的单引号也是字符串的一部分

"<div class='con"+"tent'></div>"

输出 "<div class='content'></div>"

来看一些案例

首先,单引号和双引号在各自单独用时是木有什么区别的,都可以,比如:

var a="你好";//双引号,变量a的内容是字符串  你好

var b='你好';//单引号,变量b的内容是字符串  你好

console.info(a===b);//输出true,它们本质都是一样的字符串

其次,单引号和双引号混合使用时,这时候要特别注意了,这种情况一般出现在js拼接字符串里面,或者html元素的属性里面,就以JS为例吧,都是一样的规则:单引号和双引号必须成双成对的出现,可以单引号在外面,也可以双引号在外面:

var _html="<div class='content'></div>";/*这里是最外面用了双引号了,那么里面就不能再用双引号了,因为引号是成双对的,浏览器读到一个双引号后,到第2个双引号时才算结束;同理,浏览器读到一个单引号后,必须要读到第二个才算结束*/

再来个拼接字符串的:

var data={name:"小明",age:18};
var _html="<div class='info'>我的名字叫"+data.name+",我今年"+data.age+"岁了<div>"
console.info(_html);//我的名字叫小明,我今年18岁了
//很明显了,按照之前说的,引号在读到首个双引号字符串的时候,把它当做这个变量的
//内容开始处理,然后到第二个双引号那里结束,即: "<div class='info'>我的名字叫"
/*然后通过加号拼接变量 data.name,  拼接好了后继续用加号拼接字符串 ",我今年"
以此类推。。。

总结下:引号(同类型的引号,单引号和双引号是不同类型)是成双对的,在读第一个引号时开始,读到第二个结束,遇到第三个又开始,第四个又结束。。。;

不同类型引号之间可以嵌套,最多2层(当然通过转义可以继续往下套,但是因为可读性太差,不要这样做);

*/

就javascript本身而言,单引号双引号是没有区别的,但是使用时必须要统一;因为,javascript中不区分单引号和双引号;所以,哪个方便就用哪个。

可在html中使用双引号,javascrip中使用单引号,这样就不会冲突,用起来也方便。
简单的使用例子如下:

var str = "123";//正确
var str = '123';//正确
var str = '123";//错误
var str = "123';//错误

JavaScript引号使用:

1,单引号不能嵌套单引号,双引号不能嵌套双引号,单引号和双引号可以互相嵌套,但是只能嵌套一层。

2,2层以上的嵌套,必须用"\"进行转义,能够达到2层以上的嵌套。

3,必须注意换行和回车也需要转义,当然,拼接的时候可以不换行和回车。但是,如果有,必须转义

 

(1)单引号不能解析变量,双引号可以解析变量

(2)双引号执行转义字符,单引号不转义\n,\t,\r

\n是换行

\t是空格

\r是回车键

(3)能使用单引号就是用单引号,因为单引号效率比双引号高

(4)使用.号来连接变量和字符串

(5)双引号里面插入单引号,单引号里面插入变量,变量会被解析