草庐IT

javascript - JSLint 不期望我的波浪号

JSLint坚持认为我使用了有点exotictildeoperator在下面的例子中是出乎意料的。我想知道这是否是JSLint的限制?还是严格模式?或者我还缺少什么?(function(){'usestrict';if(~'foo'.indexOf('bar')){return'wildaccusations';}}());此外,为什么我不应该使用看起来简单的波浪号运算符而不是下面更复杂的示例?一定有充分的理由不这样做吗?if('foo'.indexOf('bar')>=0){…} 最佳答案 来自JSLintDocs:Bitwise

javascript - 围绕 If block 的 JSLint 大括号

在Javascript中,如果if表达式后面没有大括号,则将以下语句放在ifblock中。也就是说,if(foo)bar();baz();相当于if(foo){bar();}baz();DouglasCrockford建议不要使用第一个,因为如果程序员试图在没有大括号的情况下向ifblock添加语句,它会造成混淆并且会导致难以追踪的错误。出于这个原因,如果您使用第一种形式,JsLint会报错。我一直在使用它,我觉得这不是问题,前提是您将该语句与if语句放在同一行,如下所示:if(foo)bar();baz();这在视觉上比完整的括号形式更简洁,而且我从来没有对它感到困惑。为了让我可以通

javascript - 与 JS "used before defined"和 Titanium Developer 的竞争

我有一个冗长的JavaScript文件,除了“在定义之前使用”错误外,它通过了JSLint。我使用了正常的函数声明,如...functionwhatever(){dosomething;}相对于...varwhatever=function(){dosomething;};并与SteveHarrison'sreply一致到较早的帖子...Assumingyoudeclareallyourfunctionswiththefunctionkeyword,Ithinkitbecomesaprogramming-stylequestion.Personally,Iprefertostructu

javascript - 如何查看 IntelliJ 中的所有 jslint 错误?

IntelliJ在JSLint报告的每个错误下都用红色下划线,我可以在文档的最右边看到相应的指示。但是,我希望在一个窗口中看到所有的jslint错误,并且能够从一个错误导航到另一个错误。这可能吗?谢谢。 最佳答案 运行分析|InspectCode在配置文件中启用了JSLint代码检查。 关于javascript-如何查看IntelliJ中的所有jslint错误?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow

javascript - 如何停止 visual studio 在函数定义和立即调用之间插入空格?

我正在使用visualstudioJSLint插件来保持我的javascript井井有条,除了这个问题之外它似乎工作得很好。如果我输入x=(function(){}())然后把分号放在最后,Visualstudio更正为:x=(function(){}());然后JSLint提示JSLint:Unexpectedspacebetween'}'and'('.显然这可以通过移除空间来解决,但是visualstudio非常坚持将空间放回去。在函数内的任何地方放置一个分号,这是文件的大部分,将导致VS将空格放回。这开始变得烦人了。我尝试过使用visualstudioJavascript编辑器设

javascript - 启用 JSLint 时停止 IntelliJ 11 添加 "use strict"到每个嵌套函数定义

有人知道如何阻止IntelliJ11自动添加“usestrict”到我在启用JSLint时创建的每个嵌套函数定义吗?我在外部闭包中指定了'usestrict'。 最佳答案 作为解决方法,您可以在设置(Mac上为首选项)中禁用PreferStrictmode|JavaScript(自IDEA11.1.1起可用)。请votefortheissue我们创造了。 关于javascript-启用JSLint时停止IntelliJ11添加"usestrict"到每个嵌套函数定义,我们在StackOv

javascript - 如何解决 JSLint 警告 "Do not use ' new' for side effects”?

为什么会出现这些错误?第329行第60行的问题:不要使用'new'作为副作用。newwidget.StyledDropdown(dojo.byId("sTitle"));第330行第61行的问题:不要使用'new'作为副作用。newwidget.StyledDropdown(dojo.byId("sSuffix"));第336行第57行的问题:不要使用'new'作为副作用。true,{shortenName:true,maxChars:20});第338行第129行的问题:不要使用'new'作为副作用。newwidget.StyledDropdown(dojo.byId("sCount

javascript - 单行 'var' 声明,还是每行一个?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我在看道格拉斯克罗克福德的CodeConventionsforJavaScript文档,他说var应该按字母顺序排列,并且每行一个。vara;//arrayofclassnamesvarc=node.className;//thenode'sclassnamevari;//loopcounter然而,jsLint(和jsHint)标准是在一行中声明它们,

javascript - 如何在 Windows 版 emacs 中将 jslint 作为 javascript 编译工具运行?

我在Win32上使用GNUEmacs。我希望能够将jslint作为.js文件的编译运行,然后逐步解决jslint报告的错误。我有jslint,WScript版本。 最佳答案 编辑-现在有一个简化的模块可以为您完成这项工作。http://marmalade-repo.org/packages/fly-jshint-wsh这个.el包:为您下载jshint或jslint(可配置)应用我在下面描述的必要的WSH友好修改将修改后的结果保存到一个临时文件在js模式缓冲区中通过flymake调用该脚本简单易行。仍然只有Windows。出于历史原

javascript - JSLint "document.write can be a form of eval"- 这是怎么回事?

我在JSLint中看到过这条消息...document.writecanbeaformofeval.并想知道到底是怎么回事?JSLintinstructions页面状态:Theevalfunction...provideaccesstotheJavaScriptcompiler.Thisissometimesnecessary,butinmostcasesitindicatesthepresenceofextremelybadcoding....那么,document.write如何“提供对JavaScript编译器的访问”呢?谢谢 最佳答案