1,为什么在代码中打印 console.log('</script>')
会出现错误,而在控制台中直接输入就不会报错?
2,在代码中打印console.log('<\/script>')
代码,控制台输出是正常的?
请教。
1,为什么在代码中打印 console.log('</script>')
会出现错误,而在控制台中直接输入就不会报错?
2,在代码中打印console.log('<\/script>')
代码,控制台输出是正常的?
请教。
因为你这是html文件中的代码。
你的这个html文件,首先是让浏览器的html解析引擎解析的。要知道,本身这个文件只是字符串序列,经过解析才会出来dom结构的。
假如给个字符串'<script> console.log('</script>')</script>'
,那就被解析成<script> console.log('</script>
这一个标签和')</script>
这段字符串了。
前面一个是script元素,因而浏览器就会将标签之间的内容传给js引擎解析并执行,明显的,里面的内容是语法错误。
13 回答12.6k 阅读
7 回答1.6k 阅读
5 回答1.3k 阅读
3 回答1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
5 回答2.2k 阅读
请看这么一个截图:
从图中可以看出,开发工具提示有错,原因也很简单:
JS
代码是写在script
标签中的<script>
会在遇到第一个</script>
时结束,因此会报错,但是在浏览器控制台中就不会出现此问题解决办法就是使用转义:
console.log('\<\/script>')