首页 新闻 会员 周边 捐助

写JS代码,为什么background属性里边的url字符串路径如果是变量的话就要在变量前后写上加号呢?

0
[已解决问题] 解决于 2020-09-27 12:22

我写一个前端项目,写到手机端的导航菜单按钮时用JS来实现图片切换。JS里边写到图片切换时我是用变量来写background的url字符串路径的。如果直接写变量,我点击那个按钮的时候图片不会切换,但是如果我在变量前后都加上一个加号的话就可以图片切换了。这是为什么呢?下面是图片:

scofield1906的主页 scofield1906 | 初学一级 | 园豆:165
提问于:2020-09-24 11:56
< >
分享
最佳答案
1

这是字符串拼接的内容。因为' background ' : ' 地址 '(注意引号!)因为被引号引住代表着字符串,就是相当于对js引擎说:“诶,我是字符串,我里面没有变量,你把我当字符串处理就好了”,那么引擎就只会把它当做字符串处理,不会检测里面的变量。而' background ' : ' url:' +变量+ ' '(注意+前面和+后面的单引号 ' ),第一个 + 前面的单引号是和url前面的一个单引号组成一对,表示字符串,相当于告诉引擎我是字符串,然后引擎就把引到的当字符串处理,+ + 中间的则会去寻找这个变量,后面的引号同理。

奖励园豆:5
焘焘不绝 | 菜鸟二级 |园豆:207 | 2020-09-24 14:48

你说得很详细,我整明白了,谢谢你。其实我之前也知道+号有字符串拼接的功能,只是不知道那个arr[no]的左右两边分别是一个字符串。

scofield1906 | 园豆:165 (初学一级) | 2020-09-26 16:30
其他回答(3)
0

因為是字串拼接

RosonJ | 园豆:4910 (老鸟四级) | 2020-09-24 13:04
-3

............

不知道风往哪儿吹 | 园豆:2037 (老鸟四级) | 2020-09-24 13:46
1

字符串拼接使用加号+拼接:
例如:
console.log("1"+"222");
打印出来就是1222

中控易动 | 园豆:918 (小虾三级) | 2020-09-24 19:30

是的,拼接。我在控制台打印了一下是可以打印出变量的:

支持(0) 反对(0) scofield1906 | 园豆:165 (初学一级) | 2020-09-26 16:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册