98 次浏览【转载需注明来源】
例如:
/[\0\x08\x09\x1a\n\r"'\\\%]/g
其中含有双引号和单引号就无法令代码正常运行比如以下代码
定义函数 特殊符号替换(欲替换文本) {
返回 欲替换文本.替换(/[\0\x08\x09\x1a\n\r"'\\\%]/g, 定义函数 (命中文本) {
调试输出(命中文本)
});
}
出现以下错误提示
Uncaught SyntaxError: missing ) after argument list (at 测试.js:9:70)
测试账号
快码FOF编程 Time: 2023-10-24 16:42:30
评论ID
可以考虑使用:特殊符号编译(!!)将正则包裹起来。
例如:特殊符号编译(/[\0\x08\x09\x1a\n\r"'\\\%]/g!!)
原理:在快码FOF的JS代码中,编译器会对单引号和双引号进行成对匹配;也就是发现一个单引号就是去找另一个单引号匹配;所以像正则这种只有一个单引号或者只有一个双引号的存在;就会触发编译器扰乱这段代码。
一般遇见这些符号则可以使用特殊符号编译()进行包裹;这个命令的原理是将包含的代码进行特殊照顾;不参与编译器的处理;直接写入到编译后的代码中。
注意:目前只是对编译器做了更新;该命令可以直接使用,但不会有提示器提示;下个版本更新后则会有支持库的提示器提示。
重点:特殊符号编译(!!)总是以:特殊符号编译(开始 以!!)结束
注意:2023-10-24使用本命令需要重启一下IDE