为什么Google封面的这条线看起来很像?
问题描述:
为什么这个javascript行看起来像这样?我的意思是,为什么最后会有一个额外的+?为什么Google封面的这条线看起来很像?
'<script type="text/javascript" src="' + src + '"></' + 'script>'
来源:http://code.google.com/p/closure-library/source/browse/trunk/closure/goog/base.js#511
答
因为如果你有一个"</script>"
标签<script>
内,浏览器会认为你已经关闭了你的脚本标签。在<script>
标签中包含文字</script>
以内的字符串是一种非常常见的方式。
为什么不能''工作? – Terry 2012-01-17 20:52:00
请注意,如果您将脚本作为外部文件加载,这个小技巧根本没有任何好处。所以这是“以防万一”...... – user123444555621 2012-01-17 20:56:26
@Terry:因为HTML解析器需要找到''的内容。只有在这之后,才会将内容传递给JS引擎进行进一步处理。 HTML解析器不知道JavaScript语法,所以它不知道它是否在字符串文字中。 – user123444555621 2012-01-17 21:01:11