所以我几个月来一直在开发一种模态控制。它是根据我的客户需求定制编码的,但我想将其发布给普通公众。我一直在努力通过codekit和uglify来缩小它。
以下是我收到的其余警告的示例。
我怎样才能最好地删除这些警告?我扩展了typeof函数,以便了解对象和数组之间的差异。
var com = {
load: function(template, $el, obj, append, callback){
$.get(template, function(value){
$.templates("tmpl", value);
var html = $.render.tmpl(obj);
if(append){ $el.append(html); }else{ $el.html(html); }
}).done(function(){
if(callback !== undefined && com.type(callback) === "function"){ callback(); }
});
},
checkApiEvents: function(api){
if(!$.isEmptyObject(api.doc)){ $.each(api.doc, function(k,v){ if(com.type(v) === "function"){ $.e.doc[k].push(v); } }); }
if(!$.isEmptyObject(api.win)){ $.each(api.win, function(k,v){ if(com.type(v) === "function"){ $.e.win[k].push(v); } }); }
},
type: function(name){
switch(name){
case "function": return "function"; break;
case "object": if($.isArray(name)){return "array"; }else{ return "object"; } break;
case "string": return "string"; break;
case "number": if(!isNaN(name)){ return "number"; }else{ return "string"; } break;
case '': case "undefined": default: return "undefined"; break;
}
},
};
答案 0 :(得分:1)
如果您发现此问题是在jshint W027 - Unreachable '$' after 'return'
中查找错误并想早点返回(现在),那么使jshint警告消失的一种简单解决方案是使用条件条件:
function doThis(){
if (1) return true;
// I want to keep this but return early for now
myVar = 0;
}
答案 1 :(得分:0)
你需要一个break
来断开一个循环或切换不进一步的身体
块(循环/开关)。 return
与函数本身分离。因此,一旦返回被调用,返回后没有任何声明。
答案 2 :(得分:-1)
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');
}