Javascript JSHint-无法访问';中断';在'之后;返回';

Javascript JSHint-无法访问';中断';在'之后;返回';,javascript,jshint,Javascript,Jshint,所以我已经开发了几个月的模态控制。它是根据我的客户需求定制编码的,但我想将其发布给普通公众。我一直在努力通过codekit和uglify将其缩小 下面是我收到的其余警告的一个示例 如何才能最好地删除这些警告?为了了解对象和数组之间的变化,我扩展了typeof函数 var-com={ 加载:函数(模板,$el,obj,追加,回调){ $.get(模板、函数(值){ $.templates(“tmpl”,值); var html=$.render.tmpl(obj); if(append){$el

所以我已经开发了几个月的模态控制。它是根据我的客户需求定制编码的,但我想将其发布给普通公众。我一直在努力通过codekit和uglify将其缩小

下面是我收到的其余警告的一个示例

如何才能最好地删除这些警告?为了了解对象和数组之间的变化,我扩展了typeof函数

var-com={
加载:函数(模板,$el,obj,追加,回调){
$.get(模板、函数(值){
$.templates(“tmpl”,值);
var html=$.render.tmpl(obj);
if(append){$el.append(html);}else{$el.html(html);}
}).done(函数(){
if(callback!==undefined&&com.type(callback)==“function”){callback();}
});
},
checkApiEvents:函数(api){
if(!$.isEmptyObject(api.doc)){$.each(api.doc,函数(k,v){if(com.type(v)==“函数”){$.e.doc[k].push(v)}}};}
if(!$.isEmptyObject(api.win)){$.each(api.win,函数(k,v){if(com.type(v)==“函数”){$.e.win[k].push(v)}};}
},
类型:函数(名称){
交换机(名称){
案例“功能”:返回“功能”;中断;
case“object”:if($.isArray(name)){return“array”;}else{return“object”;}break;
大小写“字符串”:返回“字符串”;中断;
大小写“number”:if(!isNaN(name)){return“number”}else{return“string”}break;
案例“”:案例“未定义”:默认值:返回“未定义”;中断;
}
},

};您需要一个
断路器
来断开回路或开关,使其不在阀体的下方
块(回路/开关)。
返回
与函数本身断开。因此,一旦调用了return,在返回之后就没有任何语句了

A
return
语句立即“退出”该函数,因此之后的任何代码都不会运行

function hello() {
    console.log('this will run');
    return;
    console.log('this will never run');
}
是的,您可以将
return
语句放在
if
块内,但如果调用它们,则在
return
语句之后或
if
块之外的任何内容都不会运行

function hello() {
    console.log('this will run');

    var x = true;

    if (x === true) {
        console.log('this will run');
        return;
        console.log('this will never run');
    }
    else {
        return; // this will never return
    }

    console.log('this will only run if x is false');
}

如果您发现此问题在
jshint W027-return'
之后找不到“$”中的错误,并且希望尽早返回(现在),那么让jshint警告消失的简单解决方案是使用条件:

function doThis(){
    if (1) return true;
    // I want to keep this but return early for now
    myVar = 0;
}

回来后不要休息。返回后不会执行任何操作。一次回报就足够了,休息是不可能实现的,也是不必要的。摆脱它。感谢Andrew,在默认设置之前添加一个中断b后,它清除了所有剩余的警告,如果它实际上是关于使警告不显示(即,您暂时使用提前返回来测试某些内容),您可以指定
/*jshint-W027*/
。当然,不建议用于生产