2013-02-26 3 views
0

href 위치에서 다른 조건에 스위치 케이스 명령문을 사용하려고합니다. 나는 문내 케이스로 창 위치 href가있는 스위치 케이스 구문

if (/red/.test(self.location.href)){ 
    //do this red 
} 

if (/blue/.test(self.location.href)){ 
    //do this blue 
} 

if (/yello/.test(self.location.href)){ 
    //do this yellow 
} 
+0

는 URL의 나머지 부분에 의존하는 경우 기록을 유지하기 위해 피하려고 노력하고 있어요,하지만 당신은 = "http://yoursite.com/red"var에 URL'과 같은 작업을 수행 할 수 있습니다; var color = url.replace ('http://yoursite.com/', ''); '그러면 색상이 켜집니다. 기본 아이디어는 기본 URL을 설정 한 다음 현재 url에서 기본 URL을 제거하는 것입니다. – kennypu

+0

* 정확한 * 문제점을 설명 할 수 있습니까? – Blender

답변

3
var _url = window.location.href; 
swith(true){ 
    case /red/.test(_url): 
    //do red 
    break; 
    case /blue/.test(_url): 
    //do blue 
    break; 
    case /yellow/.test(_url): 
     // do yellow 
    break; 
} 
+1

나는'if' 블록을 사용했다. – Blender

+1

제임스에게 감사드립니다. conditinal statement가 깨끗하면 20을 가지고 있다고 생각하십니까? – user992731

+0

btw - 내 대답을 수락하면 '확인'하십시오! 롤 ... 내 담당자를 얻으려고 :-). 귀하의 질문과 관련하여 몇 가지 jsperf 테스트가 있었으며 "if"문이 성능면에서이기는 것 같습니다. 더 작은 그룹을 위해, 나는 개인적으로 switch statment를 좋아한다. 하지만 나는 20 대 같은 것으로 생각합니다. if/else는 트래픽이 많을 것으로 예상되는 경우에 당신에게 더 큰 돈을 줄 수 있습니다. –