扫码关注官方订阅号
就知道变量不需要引号
但是单引号、双引号就分不清了,请大神指点哈!
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
首先,单引号和双引号在各自单独用时是木有什么区别的,都可以,比如:
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="<p class='content'></p>";/*这里是最外面用了双引号了,那么里面就不能再用双引号了,因为引号是成双对的,浏览器读到一个双引号后,到第2个双引号时才算结束;同理,浏览器读到一个单引号后,必须要读到第二个才算结束*/ //上面的代码也可以写作: _html='<p class="content"></p>'; //如果你只想用一种引号的话,你级需要对里面的引号进行**转义处理**,告诉浏览器里面的引号是一个字符串,而不是引号结束符,比如: _html='<p class=\'content\'></p>';
再来个拼接字符串的:
var data={name:"小明",age:18}; var _html="<p class='info'>我的名字叫"+data.name+",我今年"+data.age+"岁了<p>" console.info(_html);//我的名字叫小明,我今年18岁了 //很明显了,按照之前说的,引号在读到首个双引号字符串的时候,把它当做这个变量的 //内容开始处理,然后到第二个双引号那里结束,即: "<p class='info'>我的名字叫" /*然后通过加号拼接变量 data.name, 拼接好了后继续用加号拼接字符串 ",我今年" 以此类推。。。 **总结下**:引号(同类型的引号,单引号和双引号是不同类型)是成双对的,在读第一个引号时开始,读到第二个结束,遇到第三个又开始,第四个又结束。。。; 不同类型引号之间可以嵌套,最多2层(当然通过转义可以继续往下套,但是因为可读性太差,不要这样做); */
如果是一个人做开发,没有顾忌,可以跟随自己的喜好,JavaScript 同时支持两种引号,很大程度上跟你的输出有关,如果你需要输出双引号,那么外面就用单引号套,反之亦然,如下:
alert('Say "Hello"'); alert("Say 'Hello'");
如果是团队开发,一般都会有明确的规范,根据规范来做即可,通常团队开发都会使用 JSLint 来规范代码格式
希望有所帮助~ :)
需要引号的地方:
字符串;
obj[key]这里的key需要加引号(如果key是变量就不用):
obj[key]
var obj = {name: "Tom"}; obj["name"]; //"Tom"
正常情况下单引号和双引号没什么区别,可以按自己喜欢选择。不过,假如字符串里有双引号,例如你要表示abc"d,那你要么用单引号(用双引号会出错),要么对双引号转义——"abc\"d"。单引号的情况类似。
abc"d
"abc\"d"
js中字符串需要用到引号,单引号和双引号都可以,并无区别.
js
var name = "balabala"; var name = 'balabala';//效果相同
至于单,双引号公用的问题,
var html = '<p id="id" style="center">balabala</p>';//写这样的代码时就会用到了. var html = "<p id=\"id\" style=\"center\">balabala</p>";//也是一样的效果
虽然效果相同,不过从可读性上就不言而喻了.
var a='baidu'个人习惯,在js中我都用单引号,在json中,我都用双引号。
建议用单引号,HTML 中用双引号,需要创建 HTML 组件的时候,随时复制黏贴就搞定了
如果刨除个人习惯、编码规范,字符串嵌套,标准JSON等这些楼上已经提出的点的话,你还是纠结于单双引号的区别的话,我记得以前看过一篇文章,从代码编译的角度说的话,单引号在JS中被浏览器(IE,Chrome,Safari)编译的速度更快(在FireFox中双引号更快),不知这个答案你是否满意?
我的原则是:
尽量使用单引号,实在没办法时才使用双引号。
除了“单引号在字符串包含HTML时更加方便”外,还有一个我个人认为很重要的原因就是:
双引号需要按住shift键才能输入,比起单引号输入起来要麻烦。
shift
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
首先,单引号和双引号在各自单独用时是木有什么区别的,都可以,比如:
其次,单引号和双引号混合使用时,这时候要特别注意了,这种情况一般出现在js拼接字符串里面,或者html元素的属性里面,就以JS为例吧,都是一样的规则:单引号和双引号必须成双成对的出现,可以单引号在外面,也可以双引号在外面:
接下来来个稍微复杂点的,我们来看下字符串拼接:
再来个拼接字符串的:
如果是一个人做开发,没有顾忌,可以跟随自己的喜好,JavaScript 同时支持两种引号,很大程度上跟你的输出有关,如果你需要输出双引号,那么外面就用单引号套,反之亦然,如下:
如果是团队开发,一般都会有明确的规范,根据规范来做即可,通常团队开发都会使用 JSLint 来规范代码格式
希望有所帮助~ :)
需要引号的地方:
字符串;
obj[key]这里的key需要加引号(如果key是变量就不用):正常情况下单引号和双引号没什么区别,可以按自己喜欢选择。不过,假如字符串里有双引号,例如你要表示
abc"d,那你要么用单引号(用双引号会出错),要么对双引号转义——"abc\"d"。单引号的情况类似。
js中字符串需要用到引号,单引号和双引号都可以,并无区别.至于单,双引号公用的问题,
虽然效果相同,不过从可读性上就不言而喻了.
var a='baidu'个人习惯,在js中我都用单引号,在json中,我都用双引号。
建议用单引号,HTML 中用双引号,需要创建 HTML 组件的时候,随时复制黏贴就搞定了
如果刨除个人习惯、编码规范,字符串嵌套,标准JSON等这些楼上已经提出的点的话,你还是纠结于单双引号的区别的话,我记得以前看过一篇文章,从代码编译的角度说的话,单引号在JS中被浏览器(IE,Chrome,Safari)编译的速度更快(在FireFox中双引号更快),不知这个答案你是否满意?
我的原则是:
除了“单引号在字符串包含HTML时更加方便”外,还有一个我个人认为很重要的原因就是: