代码: var foo = /\</;
当我在jslint.com输入这段代码时,会得到以下提示:
Problem at line 1 character 12: Unexpected '\'.
它以前会告诉我Unexpected escaped character '<' in regular expression.
但现在的情况有所不同。
所以我只是好奇,为什么会这样?如果你尝试var foo = /\>/;
,那么它就不会报错,那问题出在<
上面了吗?
代码: var foo = /\</;
当我在jslint.com输入这段代码时,会得到以下提示:
Problem at line 1 character 12: Unexpected '\'.
它以前会告诉我Unexpected escaped character '<' in regular expression.
但现在的情况有所不同。
所以我只是好奇,为什么会这样?如果你尝试var foo = /\>/;
,那么它就不会报错,那问题出在<
上面了吗?
如果你有两个简单的 div,它们之间的区别是明显的:
<div> < </div> <!--Missing right angle bracket, bad markup-->
<div> > </div> <!--No problem, just a greater than text node-->
JSLint不假设脚本是独立的文件或者在HTML文档的script标签内。在像XUL、MXML、XAML、TVML、LZX、XHTML5或SVG这样的标记语言中,script标签内容被视为上面示例中的第一个div,因此左尖括号看起来像标签的开始。在这些语言中,使用实体替换或CDATA块来包装左尖括号和和符号字符:
<script>
if ( -1 < 0 && true !== false) {}
</script>
<script>
<![CDATA[
if ( -2 < 0 && true !== false) {}
]]>
</script>
参考文献
<
? - goatslacker