- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
如果我编写以下代码,JSLint 会提示 'isOdd' 在定义之前被使用。有没有一种方法可以编写相互递归的代码并且仍然让 JSLint 满意?
var isEven = function(n) {
if (n === 0) {
return true;
}
return isOdd(n - 1);
};
var isOdd = function(n) {
if (n === 0) {
return false;
}
return isEven(n - 1);
};
最佳答案
对于 JSLint,您必须在文件顶部添加全局变量指令,以便它忽略临时“未定义”函数和变量的使用。
/*global isOdd */
var isEven = function(n) {
if (n === 0) {
return true;
}
return isOdd(n - 1);
};
var isOdd = function(n) {
if (n === 0) {
return false;
}
return isEven(n - 1);
};
您也可以在顶部声明 isOdd
,但随后您将更改您的实际代码,因为 linting 程序不理解提升:
var isOdd;
var isEven = function(n) {
if (n === 0) {
return true;
}
return isOdd(n - 1);
};
isOdd = function(n) {
if (n === 0) {
return false;
}
return isEven(n - 1);
};
关于javascript - 相互递归和 JSLint - 函数在定义之前被使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45808062/
我有以下功能。其作用是过滤子域中允许的字符。在 JSLint 中我收到以下错误。有什么办法可以做到这一点而不 JSLint 显示错误。我知道我可以忽略 JSLint 设置中的错误,但是有没有其他方法可
我在 jsLint 中收到以下错误: 'document' was used before it was defined. 导致错误的行: document.cookie = name + "=" +
我使用 hallettj / jslint.vim在 Ubuntu 12.04 上,一切正常。但在 Windows 7(x64) 上,它显示错误: Error detected while proce
我遇到了一些麻烦。我把电脑留在家里去了我的避暑别墅几天,当我回到家并尝试将文件保存在 Sublime Text 2 中时,我收到此错误: module.js:340 throw err;
我们刚刚开始使用JSHint / JSLint,并且正在寻找一些“最佳实践”类型设置,这些设置被广泛认为是严格性和实用主义之间的良好折衷。我在互联网上看过一眼,却找不到任何东西。 我意识到这完全取决于
我有一个通过 JSLint 的巨大脚本(包括避免所有不好的部分)。除了一段,这是一些非常复杂的混淆代码,嵌入在更大的上下文中。 JSLint 对此部分产生了相当多的提示,我想为那段代码选择性地禁用它。
我查看了许多关于通过本地包装函数来消除 jslint 中(必要的)未使用参数错误的 stackoverflow 答案,如下所示: /*jslint unparam: true*/ //my funct
使用 jslint 分析文件时,是否可以使用在另一个 js 文件中声明的全局变量? . 目前我必须在标题中声明我所有的全局变量,但是这真的很慢而且不实用。 /* global console, myg
我正在尝试使 makeprg 和 errorformat 与 VIM 和 jslint 一起使用,但似乎无法为我的生活提供正确的错误格式...我正在使用 nodejs 版本的 jslint,它产生如下
我通过 JSLint 运行了以下命令: $(document).ready(function() { /* Add paragraph on page load */
在注释中使用“不安全字符”(例如变音符)时,出现以下错误: This character may get silently deleted by one or more browsers. 有什么方法
在我的 Angular 应用程序中,我使用循环在对象中查找最接近给定数字的值并返回其键。 例如,我想要最接近 0.5 的值: for (var j in nums) { if (0.5 >
我想使用 JSLint ,但我对可以访问我未经过滤的源代码的工具持谨慎态度。是否有离线版本,或者是否有其他类似的工具可以对 JavaScript 离线进行“lint 错误检查”? 编辑:一个带有 GU
我的代码是: name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); 我得到: Unexpected '\'. 为什么我会得到这个?我
JSLint 仅适用于一个 JavaScript 文件。最近,我开始将我的程序分成几个部分。 我不想每次使用 JSLint 检查代码时都将这些片段串起来。使用 JSLint 处理多个文件的标准解决方案
我总是通过向数字添加空字符串来将数字转换为字符串: var string = 1 + ''; 但是,JSLint 提示此方法预期为“String”,而看到了“'''”。,而且它看起来确实有点难看。 有
我正在使用 JSLint 来检查以下代码: 'use strict'; var mathService = { add: add, subtract: subtract, multi
所以我用这个检查了我的javascript:http://www.jslint.com/ 如果我不在 { } 之间包装 IF/FOR 语句,我会收到如下“错误”: Problem at line 15
所以我在最新版本的 jQuery 上运行 JSLint,可在 bit.ly/jqsource 获取。 。我已经尽可能宽松地进行了测试,但仍然会出现错误。其中之一是第 327 行的“使用命名参数”: 目
我根据 JSLint 标准(不包括几个选项)进行编码,我认为将其用于我的浏览器内单元测试可能是个好主意,这样我就不会意外地提交任何未通过它的内容.我使用的是 QUnit,但同样适用于任何浏览器内测试框
我是一名优秀的程序员,十分优秀!