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

时间:2012-02-08 22:27:25

标签: javascript jquery

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

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

示例

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

2 个答案:

答案 0 :(得分: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

根据规范的7.3部分。

答案 1 :(得分:3)

只要它在自己的script元素中,无论以前是什么都应该没问题。

Example | Source