js中拼接字符串遇到的单引号、双引号以及转义字符问题

 项目中经常遇到对ajax提交后返回的结果动态显示在页面上,这时候就需要在js中进行字符串的拼接。额...其实普通的拼接字符串并没多大难度系数,只要保证单引号和双引号相间就可以了。但是,如果在拼接字符串中嵌入值,或者增加带有一个或多个参数的方法的链接,那么单双引号的问题就略微有些难搞了。

1.嵌入值拼接

        利用加号在两个字符串之间嵌入值。加号可以连接两个字符串。 

 "<img src=" + result[i].photo + " alt=''/>"

2.拼接带有一个或多个参数的方法链接

        单双引号相间,如果单单、双双在一起,就利用转义字符。方法里的参数不是作为嵌入值,所以要形成字符串的形式。

"<a href=\"javascript:getProductDetail('"+result[i].spec+"','"+result[i].name+"')\">"
"<a href='javascript:getProductDetail(\""+result[i].spec+"\",\""+result[i].name+"\")'>"

        以上两种形式都是正确的,但是采用以下的形式,浏览器会报Uncaught SyntaxError:Unexcepted end of input的错。

"<a href='javascript:getProductDetail(\'"+result[i].spec+"\',\'"+result[i].name+"\')'>"

       虽然这种形式也满足上面的规则,但是浏览器会出现匹配错误,因为第一个单引号是对href属性值的总括,而第二个转义的单引号的期望作用是对参数值的总括,但浏览器并没有这么智能,所以匹配出错。

日ji

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在JavaScript,有几种常用的方法可以在字符串拼接使用单引号。一种方法是使用转义字符\'来表示单引号。例如,如果你想拼接一个包含单引号字符串,你可以使用\'将单引号转义,然后使用加号将字符串连接起来。例如: var str = 'This is a string with a \'single quote\' in it.'; 另一种方法是使用双引号来包裹整个字符串,然后在字符串使用单引号。例如: var str = "This is a string with a 'single quote' in it."; 你也可以使用模板字符串(使用反引号`包裹字符串)来拼接字符串,并在字符串使用单引号。例如: var str = `This is a string with a 'single quote' in it.`; 需要注意的是,当使用模板字符串时,你可以在字符串直接使用变量,而不需要使用加号进行连接。例如: var name = 'John'; var str = `Hello, ${name}!`; 这些是在JavaScript拼接字符串使用单引号的几种常用方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [js拼接字符串遇到单引号双引号以及转义字符问题](https://blog.csdn.net/jsh306/article/details/81708224)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [js字符串拼接单引号双引号的几种方式](https://blog.csdn.net/weixin_44793582/article/details/103052103)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值