document.write中的Javascript

document.write中的Javascript,javascript,Javascript,可能重复: 我试着写这个:document.write('document.write(“test”))并显示);});//]>我相信这是因为我在里面写了,为什么会发生,我能做些什么(我故意想让它被包围着 谢谢。 < P>序列 …结束脚本元素。如果你在字符串中间这样做,那么最终会出现一个JS语法错误。 在JS字符串中,\/的意思与/相同,因此转义斜杠字符以避免标记中有结束标记 document.write('<script>document.write("test")<\/s

可能重复:

我试着写这个:
document.write('document.write(“test”))并显示
);});//]>我相信这是因为我在里面写了
,为什么会发生,我能做些什么(我故意想让它被
包围着

谢谢。

< P>序列<代码> <代码>…结束脚本元素。如果你在字符串中间这样做,那么最终会出现一个JS语法错误。

在JS字符串中,
\/
的意思与
/
相同,因此转义斜杠字符以避免标记中有结束标记

document.write('<script>document.write("test")<\/script>'); 
document.write('document.write(“test”));

您要么将其放入外部文件(脚本所属的位置),要么执行难看的“转义”操作:

document.write('document.write(“test”));

document.write('document.write(“test”));

但实际上,请将它放在一个外部文件中。

之所以发生这种情况,是因为浏览器会看到
部分,并认为它是脚本的结束标记

要克服这个问题,只需像这样把它分成两个字符串

'<script>document.write("test")</scr'+'ipt>'
'document.write(“test”)'

当浏览器运行您的脚本并遇到
时,它会认为您的脚本已结束。我会将字符串拆分为两个单独的字符串并连接在一起。或者您可以将脚本放在外部文件中,而不会完全遇到问题。如果您正在做一件小事,第二个可能需要额外做一些工作,但它确实可以使您不必编写任何额外的或连接的内容。

通常,您应该尽量避免使用
文档。编写
。它可以工作,但不被脚本包围。如果您的意思是要编写文本
,而不是HTML
,则必须使用实体来表示具有特殊含义的字符HTML格式的ng(即
而不是

document.write('<script>document.write("test")<\/script>');
'<script>document.write("test")</scr'+'ipt>'