Javascript 开关内每种情况下的If语句
有没有一种方法可以在每次情况下对函数中的变量运行检查,而不必每次都键入它 JavascriptJavascript 开关内每种情况下的If语句,javascript,switch-statement,Javascript,Switch Statement,有没有一种方法可以在每次情况下对函数中的变量运行检查,而不必每次都键入它 Javascript function htmlParse(type) { var returnString = ""; $('#drag-drop > .draggable').each(function() { var item = $(this).attr('id'); switch(item) { case 'bread-top':
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;
}
函数htmlpasse(类型){
var returnString=“”;
$('#拖放>.draggable')。每个(函数(){
var item=$(this.attr('id');
开关(项目){
案例“面包顶”:
returnString+='';
如果(类型=='string')
returnString+='\n';
打破
“面包底”一案:
returnString+='';
如果(类型=='string')
returnString+='\n';
打破
“土耳其”案:
returnString+=''+
“\n”+
'您的网站内容在此处。\n'+
' ';
如果(类型=='string')
returnString+='\n';
打破
}
});
返回字符串;
}
在本例中,我希望在开关中的每个案例上运行if(type=='string')…
,而不必每次都实际键入它
可能是因为时间太晚了,但我想不出一种方法来实现这一点,而不从阵列中构建每个案例。只需将其放在开关之后即可:
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');
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';
由于您对所有案例都执行相同的操作,因此您可以将其移出开关案例
替换
return returnString;
与
请注意,如果您不在其他地方初始化type,则条件将始终失败,如果returnString可以是字符串以外的任何东西,您可能会为其找到更好的名称。因为您对所有情况都执行相同的操作,所以您可以将其移出开关箱
替换
return returnString;
与
请注意,如果您不在其他地方初始化type,条件将始终失败,如果returnString可能不是字符串,您可能会为它找到更好的名称。将其放在开关之后。
?旁注:强烈建议一致使用{}
,即使(此时)块中只有一条语句。@Someprogrammerdude-应该注意的是,我需要在每个case之后使用换行符将其放在开关之后。
?旁注:强烈建议一致使用{}
,即使(目前)块中只有一条语句。@Someprogrammerdude-应该注意的是,我需要在每个case之后换行,就是这样。出于某种原因,我甚至无法理解将检查放在开关之后,而是放在.each()循环中。这就是为什么我应该睡觉,第二天早上再看看,然后再问一些愚蠢的问题。非常感谢。就是这个。出于某种原因,我甚至无法理解将检查放在开关之后,而是放在.each()循环中。这就是为什么我应该睡觉,第二天早上再看看,然后再问一些愚蠢的问题。非常感谢。