js中字符串拼接调用方法时,参数传字母或中文时报错:xxxx is not defined

下面是我js中拼接的代码:

+
"<td><button type='button' class='btn btn-danger' οnclick='deleteBook("+bookState +")'>删除</button>"
+

当调用deleteBook方法时会报错:xxxx is not defined

bug分析

报错的是deleteBook(bookState)方法,当然当你的参数是数字的时候,实际传递是的''deleteBook(100)'',该方法是不会报错的,但当方法参数是字符串类型的参数时,实际的是这样''deleteBook(书名)'',此时就会报错 书名(变量) is not defined,显然这样就会报错,必须要给这个参数拼接上单引号,这样传过去的参数才是字符串,所以怎么解决呢,方法中已经使用了单引号做为连接符,此时要是用转义符来进行处理

解决办法:

将要拼接的参数用引号括起来,若引号冲突则添加添加引号的字符实体,如下:

+ "<td><button type='button' class='btn btn-danger' οnclick='deleteBook(&quot;"+bookState +"&quot;)'>删除</button>" +

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值