jq/js中 单引号、双引号对比梳理

jq/js中 单引号、双引号在什么情况下怎么使用呢

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

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,它们不是一样的字符串

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

'af'+"bvvv"+'dd'
 输出 "afbvvvdd

下面是字符串拼接的例子
例一

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,  拼接好了后继续用加号拼接字符串 ",我今年"
以此类推。。。  
**总结下**:引号(同类型的引号,单引号和双引号是不同类型)是成双对的,在读第一个引号时开始,读到第二个结束,遇到第三个又开始,第四个又结束。。。;
不同类型引号之间可以嵌套,最多2层(当然通过转义可以继续往下套,但是因为可读性太差,不要这样做);

例三

function addElementForData(result){
        $("#table_body").empty();
        if (result.list){
            $.each(result.list,function(index,element){
                console.log("element==",element)
                console.log("element.pid==",element.pid);
                var eleData= "<tr>\n" +
                    "    <td class=\"tdInp\">"+(index+1)+"</td>\n" +
                    "    <td>"+element.proposer+"</td>\n" +
                    "    <td>"+element.customerunitname+"</td>\n" +
                    "    <td>"+element.productname+"</td>\n" +
                    "    <td>"+element.createtime+"</td>\n" +
                    "    <td>"+element.applicationuse+"</td>\n" +
                    "    <td>"+element.productname+"</td>\n" +
                    "    <td>\n" +
                    "        <span class=\"approvalBtn\" onclick=approvalBtn('"+element.pid+"')>"+element.sheetstatus+"</span>\n" +
                    "        <input type='hidden' id='pid' value="+element.pid+">\n" +
                    "    </td>\n" +
                    "  </tr>";
                $("#table_body").append(eleData);
            });
        }
    }

在此模块中注意事项
1、有方法的类似于 onclick事件 外层被双引号包括 不需要再使用引号包含
οnclick=‘approvalBtn(‘”+element.pid+”’)’ 错误
2、外层双引号使其变为字符串
3、内层 “++” 中双引号用于解析数据

代码编译的角度说的话,单引号在JS中被浏览器(IE,Chrome,Safari)编译的速度更快(在FireFox中双引号更快)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值