Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 开关内每种情况下的If语句_Javascript_Switch Statement - Fatal编程技术网

Javascript 开关内每种情况下的If语句

Javascript 开关内每种情况下的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':

有没有一种方法可以在每次情况下对函数中的变量运行检查,而不必每次都键入它

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;
}
函数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()循环中。这就是为什么我应该睡觉,第二天早上再看看,然后再问一些愚蠢的问题。非常感谢。