Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我如何处理JSLint警告;不要使用';新';副作用;?_Javascript_Jslint - Fatal编程技术网

Javascript 我如何处理JSLint警告;不要使用';新';副作用;?

Javascript 我如何处理JSLint警告;不要使用';新';副作用;?,javascript,jslint,Javascript,Jslint,为什么会出现这些错误 第329行的问题字符60:不要使用“new”来表示副作用 newwidget.StyledDropdown(dojo.byId(“缝合”) 第330行的问题第61个字符:不要使用“新”作为副作用 newwidget.StyledDropdown(dojo.byId(“sSuffix”) 第336行的问题第57个字符:不要使用“新”作为副作用 true,{shortenName:true,maxChars:20}) 第338行的问题第129字符:不要使用“新”作为副作用 ne

为什么会出现这些错误

第329行的问题字符60:不要使用“new”来表示副作用

newwidget.StyledDropdown(dojo.byId(“缝合”)

第330行的问题第61个字符:不要使用“新”作为副作用

newwidget.StyledDropdown(dojo.byId(“sSuffix”)

第336行的问题第57个字符:不要使用“新”作为副作用

true,{shortenName:true,maxChars:20})

第338行的问题第129字符:不要使用“新”作为副作用


newwidget.StyledDropdown(dojo.byId(“scontry”)、USPS.Address.countrySw…
您没有存储对新创建对象的引用,这是一种代码味道

JSLint说“您正在创建一些对象,但立即丢弃它们;您这样做的唯一可能原因是创建对象的行为有副作用,这很奇怪。”


您可以通过防止构造函数产生副作用(这意味着找到其他方法来执行它们正在执行的操作,例如,将代码移动到普通函数中)或通过存储对新创建对象的引用(即使在您丢弃的临时局部变量中)来丢失警告.

重新思考战略是最好的,但更常见的是,在开发周期内处理技术债务不是一种选择

如果您使用的是JSHint,您可以根据具体情况覆盖此选项。将此JSHint注释添加到有问题代码的范围中

/* jshint -W031 */
new widget.StyledDropdown(dojo.byId("sTitle"));
new widget.StyledDropdown(dojo.byId("sSuffix"));
...

内联配置是函数范围的。因此,注释范围之外的任何内容都将被检查。

您的其他八个问题都没有得到可接受的答案?没有?我问了错误的问题。但是我解决了我的问题。如果您是指“代码气味”,我也是,但不幸的是,这很合适。@Tim:是的,这就是我的意思。为什么我们不能说“糟糕的做法”?你觉得在实例化自身后使用new将自身的实例传递到回调中怎么样?解决方案示例会很好。我想知道这一个……使用
新通知是一种糟糕的做法吗({title:title,body:body})
但是做
var unused;{…一些代码…};unused=newnotification({title:title,body:body})
?在我看来,在temp-var中存储ref也很糟糕和混乱。这不是另一个jslint错误(unused-var):
函数blah(args){var x=new Notification吗(args);/*更多代码*/}