为什么这一系列的谷歌闭合看起来像它?

Mar*_*cin 6 javascript google-closure google-closure-library

为什么这个javascript行看起来像这样?我的意思是,为什么有一个额外+接近尾声?

'<script type="text/javascript" src="' + src + '"></' + 'script>'
Run Code Online (Sandbox Code Playgroud)

资料来源:http://code.google.com/p/closure-library/source/browse/trunk/closure/goog/base.js#511

Jam*_*gne 10

因为如果你有"</script>"一个<script>标签,浏览器会认为你已经关闭了你的脚本标签.将标签中的文本包含</script><script>标签内是一种非常常见的方法.

  • 请注意,如果您将脚本作为外部文件加载,这个小技巧根本没有任何好处.所以这是"以防万一"...... (2认同)
  • @Terry:因为HTML解析器需要找到`<script> ... </ script>`的内容.只有在那之后才将内容传递给JS引擎进行进一步处理.HTML解析器不知道JavaScript语法,因此它不知道结束标记是否在字符串文字中. (2认同)
  • 你看到它完成的另一种方式是`... <\/script>`,因为JavaScript将`\ /`视为斜杠,但HTML解析器却没有. (2认同)