在Javascript中,我们是否使用;还是'?它们不同吗?

在Javascript中,我们是否使用;还是'?它们不同吗?,javascript,html,Javascript,Html,可能重复: 对不起,伙计们,我在问一个愚蠢的问题。 在Javascript中,我们是否使用“或” 看看下面的代码,似乎“和”的行为有所不同 var html = '<dt> <img src="' + imageurl + '" /> </dt>'; var html=''; 有人能给我解释一下“和”之间的区别吗?这取决于你用什么打开和关闭 “将在下一个检测到的”上结束,而“将在下一个检测到的”上结束 您的示例也可以写成: var html = "&

可能重复:

对不起,伙计们,我在问一个愚蠢的问题。 在Javascript中,我们是否使用“或”

看看下面的代码,似乎“和”的行为有所不同

var html = '<dt> <img src="' + imageurl + '" /> </dt>';  
var html='';

有人能给我解释一下“和”之间的区别吗?

这取决于你用什么打开和关闭

将在下一个检测到的
上结束,而
将在下一个检测到的
上结束

您的示例也可以写成:

var html = "<dt> <img src='" + imageurl + "' /> </dt>"; 
var html=”“;

没有区别,只是取决于你用什么打开。你可以使用任何一种形式的引号。它们是相同的:

var html1 = "<bold>Hi</bold>";
var html2 = '<bold>Hi</bold>';
var html1=“Hi”;
var html2='Hi';
无论您选择以哪个分隔符开始字符串,该分隔符的下一个未转义的出现都表示字符串结束

有趣的是,字符串本身中嵌入了引号。例如,假设要将其分配给javascript变量:

在这种情况下,您可以选择两个选项。您可以使用此选项来转义嵌入的双引号:

var html1 = "<img src=\"http://www.google.com/images/logo1w.png\">";
var html1=”“;
或者,您可以使用:

var html2 = '<img src="http://www.google.com/images/logo1w.png">';
var html2='';

我发现后者看起来更干净。

可以使用单引号或双引号括起表达式。只要相同类型的引号关闭表达式,一切都很好

如果您计划在字符串中包含HTML,那么应该使用单引号…这样您就不必转义双引号

如果在上面使用双引号,则需要转义内部引号,例如


var html=“”;

在javascript中没有区别。两者都适用于封装字符串,即定义字符串文字

您的示例显示了双引号,它们是字符串中的值。它们显然是该字符串中保存的标记的一部分。它们的存在与javascript语言无关,并且该字符串可以等效地定义为:

var html = "<dt> <img src=\"" + imageurl + "\" /> </dt>";
var html=”“;
通常选择一个而不是另一个的唯一原因是方便。例如,在引用标记(如您的示例中)时,通常会有许多双引号(尽管单引号同样有效),因此使用单引号定义字符串更容易,而不必转义斜杠每个应属于字符串的引号(与定义字符串边界相反)


另一方面,自由文本通常包含许多撇号,在这种情况下,用双引号将字符串括起来通常更容易:
“这样更容易,这将节省我一些工作“

在javascript中,它们是相同的。您可以在它们之间切换,以便更容易地转义字符串文字本身中的潜在引号。”


请小心,因为在其他一些语言(如perl)中存在差异:在这种情况下,双引号字符串将允许变量插值,而单引号字符串则不允许。Javascript目前不支持此功能。

如果“和”都相同且没有区别,则的精确副本。当我执行类似var html=”的操作时 ";在Dreamweaver中,它给了我错误?这是IDE问题吗?请阅读此处的其他答案。除非您转义嵌入的双引号,否则您不能使用双引号来分隔字符串,然后在该字符串中包含双引号。我下面的答案为您提供了这些场景的示例。@Vennsoh:正如链接和下面的答案所示,yo为了嵌套它们,您需要在两者之间交替,或者需要转义嵌套的字符串。在您的示例中,第一个
开始一个字符串文本,下一个
关闭字符串文本。您需要转义第二个
“\”/>“
,或者将其更改为单个
“/>”。