는이 게시물을 발견 : Switch case with three parameters?와 나는이 같은 여러 매개 변수를 전달하는 스위치 케이스 사용을 고려했다 :스위치 케이스 대 조건부?
switch (array($var1, $var2, $var3)) {
case array(true, false, false):
echo "hello";
break;
}
이이 일을 가장 효율적인 방법입니다 여부에 의문이있는 것 같습니다. 분위기는 if 조건이 더 적절하다고 생각됩니다. 하지만 내가 쓰고있는 조건부를 보면 확실하지 않습니까? 예를 들어이 지저분 (내가 당신을 지루에서 유지하기 위해 약 6 다른 조건문을 제거했다고 주) 느낌 :
if (
csz == "google" ||
csz == "bing" ||
csz == "yahoo" ||
csz == "dogpile" ||
csz == "millionshort" &&
cs == '') {
$("li.phone").replaceWith('<li class="phone">' + phoneNaturalSearch + '</li>');
}
else if (
csz == "facebook" &&
cs == '') {
$("li.phone").replaceWith('<li class="phone">' + phoneFacebook + '</li>');
}
else if (
csz == "google-plus" ||
csz == "plus") {
$("li.phone").replaceWith('<li class="phone">' + phoneGooglePlus + '</li>');
}
// Snipped out other conditionals
else {
$("li.phone").replaceWith('<li class="phone">' + phoneDefault + '</li>');
}
여기에 더 효율적 여러 매개 변수로 전환 할 것인가를, 아니면 성능 저하가 발생할 것인가? 나는 코드를 작성해야하고 실제로 덜 지저분한지를 확인해야한다고 생각하지만, 먼저 전문가의 의견을 튀게 할 것이라고 생각했습니다.
[A jsPerf 테스트 케이스를 구축 (http://jsperf.com/if-statement-with-many-ors)과 자신을 찾을 수 있습니다. 브라우저를 실행하는 브라우저에 따라 다를 수 있습니다. – Blazemonger
나는이 도구를 사용한 적이 없다. 나를 가리켜 주셔서 감사합니다! –
어떻게 작동합니까? 당신은 단지 두 개의 배열을 비교할 수 없습니다. http://jsfiddle.net/acXV4/1/ – CaffGeek