老师,请问这个方法中src='+data.icon+' 为什么不能用双引号

老师,请问这个方法中src='+data.icon+' 为什么不能用双引号

function getItemContent(data){
   if (data.icon){
      //src为什么要用单引号
      return '<img class="item-icon" src='+data.icon+' />'+data.name;
   }
   else {
      return data.name;
   }
}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕慕子 2019-12-20 19:03:24

@hyperse, 同学你好, 外层单引号时,内层嵌套需要使用双引号 这句话理解是对的。如果值是变量,不需要用引号包裹变量。

如下, 理解是错误的。

http://img1.sycdn.imooc.com//climg/5dfca9f9094f088c05060086.jpg

因为data.icon是变量 ,第一对单引号是包裹左侧所有的字符内容,第二对单引号是为了包裹右侧的内容。这样字符串拼接时,data.icon就表示变量了。

http://img1.sycdn.imooc.com//climg/5dfcaa250951928c06310126.jpg

自己理解下,祝学习愉快~

  • hyperse #1
    哦哦,我看走眼了。。明白了,谢谢老师
    2019-12-20 19:31:55
好帮手慕星星 2019-12-03 10:50:41

同学你好,因为外层用的是单引号,里面用单引号是为了对应匹配:

http://img1.sycdn.imooc.com//climg/5de5cd0a09e8a06406360134.jpg

这样data.icon就是变量了。而item-icon字符串用双引号是因为嵌套规则,单引号嵌套双引号,双引号嵌套单引号,这样出来的才是字符串而不是变量。自己可以测试理解下。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

  • hyperse #1
    也就是说外层单引号时,内层嵌套需要使用双引号,但是如果里面的值是变量需要引起来就还是用单引号吗?
    2019-12-20 18:44:59
  • hyperse #2
    data.icon因为是变量所以要用单引号括起来,这样理解对吗?
    2019-12-20 18:46:47
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
3.WebAPP开发与小程序
  • 参与学习           人
  • 提交作业       622    份
  • 解答问题       6815    个

微信带火了小程序,也让前端工程师有了更多的展现机会,本阶段带你从移动基础知识的学习到webAPP开发,及小程序开发,让你PC端与移动端两端通吃。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师