2017-07-01 18 views
-1

私は数ヶ月間モーダルコントロールを開発しています。私のクライアントのニーズに合わせてカスタマイズされたカスタムですが、私はそれを一般の一般に公開したいと考えています。私はコードキットとuglifyを使ってそれを縮小するよう努めてきました。JSHint - 'return'の後に到達できない 'break'

ここに私が受け取っている残りの警告の例があります。

これらの警告を削除するにはどうすればよいですか?オブジェクトと配列の違いを知るためにtypeof関数を拡張しました。

var com = { 
 
\t load: function(template, $el, obj, append, callback){ 
 
\t \t $.get(template, function(value){ 
 
\t \t \t $.templates("tmpl", value); 
 
\t \t \t var html = $.render.tmpl(obj); 
 
\t \t \t if(append){ $el.append(html); }else{ $el.html(html); } 
 
\t \t }).done(function(){ 
 
\t \t \t if(callback !== undefined && com.type(callback) === "function"){ callback(); } 
 
\t \t }); 
 
\t }, 
 
\t checkApiEvents: function(api){ 
 
\t \t if(!$.isEmptyObject(api.doc)){ $.each(api.doc, function(k,v){ if(com.type(v) === "function"){ $.e.doc[k].push(v); } }); } 
 
\t \t if(!$.isEmptyObject(api.win)){ $.each(api.win, function(k,v){ if(com.type(v) === "function"){ $.e.win[k].push(v); } }); } 
 
\t }, 
 
\t type: function(name){ 
 
\t \t switch(name){ 
 
\t \t \t case "function": return "function"; break; 
 
\t \t \t case "object": if($.isArray(name)){return "array"; }else{ return "object"; } break; 
 
\t \t \t case "string": return "string"; break; 
 
\t \t \t case "number": if(!isNaN(name)){ return "number"; }else{ return "string"; } break; 
 
\t \t \t case '': case "undefined": default: return "undefined"; break; 
 
\t \t } 
 
\t }, 
 
};

enter image description here

+2

返品後に壊れないでください。戻り後に何も実行されません。帰りは十分であり、休憩は到達不能で不要です。それを取り除く。 – Li357

+0

Andrewに感謝します。デフォルトの休憩を追加した後、残りの警告がすべてクリアされ、 – googabeast

答えて

0

あなたはループを断ち切るか ブロック(ループ/スイッチ)の体のさらに下つもりはありません切り替えるにbreakを必要としています。 returnは、関数自体から切り離されます。ですから、一旦返品されれば、返品後に何らかの陳述がありません。

-1

returnステートメントはすぐに関数を終了し、その後のコードは決して実行されません。

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

はい、あなたはifブロック内でreturn文を置くことができますが、それらが呼び出さしている場合、その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'); 
} 
関連する問題