毎回それを入力せずに、関数の変数をすべてのケースでチェックする方法はありますか?この例ではスイッチ内のすべてのケースについてif文
Javascriptを
function htmlParse(type) {
var returnString = "";
$('#drag-drop > .draggable').each(function() {
var item = $(this).attr('id');
switch(item) {
case 'bread-top':
returnString += '<html>';
if (type == 'string')
returnString += '\n';
break;
case 'bread-bottom':
returnString += '</html>';
if (type == 'string')
returnString += '\n';
break;
case 'turkey':
returnString += ''+
' <body>\n'+
' Your website content goes here.\n'+
' </body>';
if (type == 'string')
returnString += '\n';
break;
}
});
return returnString;
}
私は実際には毎回それを入力することなく、スイッチ内のすべてのケースでif (type == 'string')...
を実行したいです。
おそらくそれは遅いですが、配列からそれぞれのケースを構築することなくこれを行う方法は考えられません。あなたは、それを行うdefault
を追加し、フラグを使用しないように、一致しないケースが必要な場合は
var item = $(this).attr('id');
switch (item) {
case 'bread-top':
returnString += '<html>';
break;
case 'bread-bottom':
returnString += '</html>';
break;
case 'turkey':
returnString += '' +
' <body>\n' +
' Your website content goes here.\n' +
' </body>';
break;
}
if (type == 'string')
returnString += '\n';
:
var item = $(this).attr('id');
var flag = true;
switch (item) {
case 'bread-top':
returnString += '<html>';
break;
case 'bread-bottom':
returnString += '</html>';
break;
case 'turkey':
returnString += '' +
' <body>\n' +
' Your website content goes here.\n' +
' </body>';
break;
default:
flag = false;
break;
}
if (flag && type == 'string')
returnString += '\n';
'switch'の後に挿入しますか? –
サイドノート:**ブロックがただ一つのステートメントだけを含んでいても(当時)、 '{}'を一貫して使うことを強くお勧めします。 –
@Someprogrammerdude - 各ケースの後に改行が必要であることに注意してください。 –