我目前正试图弄清楚为什么 JSDT 会发布诸如“ JavaScript error on valid regex ”之类的错误。
当我在测试时,我意识到它适用于像这样的简单文件:
var a = {
urlParseRE: /^\s*(((([^:\/#\?]+:)?(?:(\/\/)((?:(([^:@\/#\?]+)(?:\:([^:@\/#\?]+))?)@)?(([^:\/#\?\]\[]+|\[[^\/\]@#?]+\])(?:\:([0-9]+))?))?)?)?((\/?(?:[^\/\?#]+\/+)*)([^\?#]*)))?(\?[^#]+)?)(#.*)?/,
test: b.replace(/^\/|(\/[^\/]*|[^\/]+)$/g, "")
};
并报告 jQuery.mobile-1.3.1.min.js 等复杂文件的错误。
我使用在线工具格式化了简化的 jQuery 脚本,然后删除了其中几乎所有的内容,以制作一个有助于复制问题的简单示例。当文件大小从大约 3000 行减少到 300 行时,一些新的验证错误会在上述原始错误之前发布。我以完全不同的问题结束了我的实验。验证错误发布在“,”上,如下例所示:
!function(){
window.alert("passed 1");
}(),
function(){
window.alert("passed 2");
}();
window.alert("passed 3");
我知道 JSDT 项目休眠了一段时间并且只支持ECMAScript v3,所以在我创建新问题之前,我想确保最后一个简单的 js 示例对于 ECMAScript 语言规范第 3 版是正确的。是否有任何在线或离线工具可以验证这一点?