什么"终止字符"通常会确保后续的javascript运行?

goo*_*ate 4 javascript jquery

是否有一系列字符可以在格式错误的javascript代码之后使用,以确保后续脚本将被执行?

我们的想法是,我们有单独的部门编写将放置在同一页面上的JavaScript代码."其他"组织因遗留坏代码而臭名昭着.由于我的代码将在页脚中(通过site.master),我可以使用哪些字符来确保(或更有可能)我的代码将被执行?

例

 // > "" ;  */ 
 alert("this code will always run, regardless of what happens before...");
Run Code Online (Sandbox Code Playgroud)

Mik*_*uel 6

没有在EcmaScript本身中定义.语法无效的程序根本不会运行.

在HTML中,</script><script>将关闭当前的SCRIPT并打开一个新的SCRIPT,并且一个SCRIPT元素的内容无法解析不会导致其他SCRIPT元素的内容无法解析,因为它们是不同的程序.

如果前面的内容始终是行注释,如在您的示例中,任何行终止符都足够,并且EcmaScript行终止符是

U+A     \n
U+D     \r
U+D,U+A \r\n
U+2028  Line separator
U+2029  Paragraph separator
Run Code Online (Sandbox Code Playgroud)

根据规范第7.3节.