JS正则与注释的冲突

最近在写一款前端组件的时候,无意发现正则与注释之间的一点冲突,现分享下。

创新互联公司自2013年创立以来,先为宁波等服务建站,宁波等地企业,进行企业商务咨询服务。为宁波企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

下边是一段仅有正则表达式的代码:

str = 'hello js fan';
console.log(str.match(/s.*/));

运行结果如下图:
JS正则与注释的冲突

下边我加上注释:

/*this is a test
str = 'hello js fan';
console.log(str.match(/s.*/));
*/

表面看这段代码很正常,但运行后呢?

这是运行后的结果
JS正则与注释的冲突
显示第3句后边不应该接')'。

猜测应该是正则没有使用引号,导致JS解析时将正则里边的"*/"做为了注释的结尾。

大家在使用正则时注意这块,小心掉入陷阱!

各位小伙伴们,不知道大家对此有什么看法呢?


分享文章:JS正则与注释的冲突
文章来源:http://scyanting.com/article/jpdpss.html