代码:var foo = /\</;
当我转到jslint.com然后输入时,我得到:
Problem at line 1 character 12: Unexpected '\'.
以前告诉我Unexpected escaped character '<' in regular expression.
,但时间已经改变。
所以我只是好奇,为什么?如果您尝试var foo = /\>/;
它不关心,与<
有什么关系?
答案 0 :(得分:3)
如果您有两个简单的div,区别很明显:
<div> < </div> <!--Missing right angle bracket, bad markup-->
<div> > </div> <!--No problem, just a greater than text node-->
JSLint不假定脚本是独立文件或HTML文档的脚本标记内。在标记语言中,例如XUL,MXML,XAML,TVML,LZX,XHTML5或SVG,脚本标记内容被视为上例中的第一个div,因此左尖括号看起来像标记的开头。在这些语言中,使用实体替换或CDATA块来包装左尖括号和&符号:
<script>
if ( -1 < 0 && true !== false) {}
</script>
<script>
<![CDATA[
if ( -2 < 0 && true !== false) {}
]]>
</script>
<强>参考强>