Javascript什么是“'+aStringVarible+'"(双引号加单引号)做

Javascript What does "' + aStringVarible + '" (double quote plus single quote) do?

本文关键字:单引号 quot 什么 +aStringVarible+ Javascript      更新时间:2023-09-26

我在一个在线课程中看到了这行代码:

photoHtml += '<a href="' + photo.link + '">';

在这里,"photo"是一个对象,而photo.link实际上是一个url。

但这是我第一次看到人们一起使用"(我是javascript的新手),所以我不确定这是怎么回事。我猜测这是一种向变量添加引号的方法?因为如果我们直接在变量photo.link周围加引号,那么它就不能作为变量工作,例如"photo.link"?

在python中,我会使用"+photo.link+"来处理这种情况。那么"'+photo.link+'"在javascript中做同样的工作吗?

提前谢谢!我知道这真的很业余,但我试着在谷歌上搜索,没有找到想要的答案。

您可以像这样定义字符串文字'a string'"a string"。两者都允许在不包含转义符的情况下包含其他类型的字符:'"hello" world'是包含"hello" world的字符串。

由此产生的有效HTML将类似于

<a href="http://something.com/">

请注意,引号"分隔链接url

现在,在JavaScript中,无论字符串的内容如何,photoHTML中的字符串都由引号'分隔。因此,如果你希望你的url是一个变量,你必须以某种方式放置它,使生成的html看起来像这样:

<a href="photo.link">

如果要,请用实际链接替换文本photo.link。这是通过以下方式实现的:

photoHtml += '<a href="' + photo.link + '">';

其中"引号用于分隔html中的url,'引号用于分隔JavaScript的字符串。

"与它无关——串联。"用于正在渲染的属性。

<a href="thelink">
        ^       ^

href属性的value必须用引号括起来。不管是'单引号还是"双引号。

在您的示例中,'标记javascript表达式的开始和结束(字符串串联),而"指的是html属性href,并且是字符串本身的一部分。