javascript - 为什么当我在 RegEx 中转义 < 字符时 jslint 会报错?

标签 javascript jslint

代码: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 文档的脚本标记内。在标记语言中,例如 XUL , MXML , XAML , TVML , LZX , XHTML5SVG , script 标签内容被视为上例中的第一个 div,因此左尖括号看起来像是标签的开始。在这些语言中,使用实体替换或 CDATA block 来包裹左尖括号和符号字符:

<script> 
if ( -1 &lt; 0 &amp;&amp; true !== false) {} 
</script>

<script>
<![CDATA[
if ( -2 < 0 && true !== false) {}
]]>
</script>

引用资料

关于javascript - 为什么当我在 RegEx 中转义 < 字符时 jslint 会报错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8019216/

相关文章:

javascript - JSLint "bad escapement"位于乘号上

javascript - 从 <div> 中的数组生成 <li>

javascript - 如何使用 thunk 操作对 mapDispatchToProps 进行单元测试

ubuntu - Moo Tools JS Lint

javascript - 不要在循环中创建函数。 - jslint 错误

javascript - js 对象的属性分配出现 lint 错误

javascript - URL更改时调用内容脚本

javascript - 自动完成搜索后跟踪 Google Analytics 中的目标页面

javascript - 我如何在具有重复行的表单中使用名称和 ID

javascript - 函数声明不应放在 block 中。使用函数表达式或将语句移动到外部函数的顶部