2011-08-11 10 views
13

여기에 (두 기능이있다.)이 플러그인에 대한 문서의 http://tkyk.github.com/jquery-history-plugin/#documentation이 함수에서 물음표는 무엇을 의미합니까?

$(document).ready(function() { 
    function load(num) { 
     $('#content').load(num +".html"); 
    } 

    $.history.init(function(url) { 
     load(url == "" ? "1" : url); 
    }); 

    $('#ajax-links a').live('click', function(e) { 
     var url = $(this).attr('href'); 
     url = url.replace(/^.*#/, ''); 
     $.history.load(url); 
     return false; 
    }); 
}); 

다음은 HTML입니다 :

<body> 
    <h1>jQuery History Plugin Ajax Sample</h1> 
    <div id="ajax-links"> 
    <ul> 
     <li><a href="#1">load 1.html</a></li> 
     <li><a href="#2">load 2.html</a></li> 
     <li><a href="#3">load 3.html</a></li> 
    </ul> 
    <div id="content"></div> 
    <hr /> 
    </div> 
    <p>[<a href="../">All samples</a>] [<a href="http://github.com/tkyk/jquery-history-plugin">Project home</a>]</p> 
</body> 
+1

가능한 중복 항목 : http://stackoverflow.com/questions/1771786/question-mark-in-javascript http://stackoverflow.com/questions/1688337/javascript-if-alternative http://stackoverflow.com/ 질문/3322704/javascript-notation http://stackoverflow.com/questions/4278232/javascript-explanation-of-and http://stackoverflow.com/questions/6813840/what-does-this-javascript-code-do – JJJ

+0

이것은 자바 스크립트의 기본 삼항 연산자입니다. http://msdn.microsoft.com/en-us/library/be21c7hw(v=vs.94).aspx – Devjosh

+0

[Javascript Ternary operator] (http : // stackoverflow. com/q/1788917/693207) –

답변

22
load(url == "" ? "1" : url); 

여기에 물음표는이 작업이, 간단하게 말해서, 그것은 짧은 인라인 if 인 경우 원이다.

밖으로 확장, 문은 다음과 같이 보일 것입니다 :

물음표 전에 문이 true로 평가되면, 다음 콜론의 왼쪽을 사용하는
if (url == "") 
    load("1"); 
else 
    load(url); 

, 그것이 그렇지 않은 경우 (경우 false) 오른쪽이 사용됩니다. 또한 중첩 할 수도 있지만 항상 좋은 아이디어는 아닙니다 (가독성을 위해).

+0

당신은 다시 감사합니다. – user784637

+0

왜 Curt의 답변과 같은 중괄호가 없습니까? – Jarad

5

그 속기를 위해 :

If (url == ""){ 
    load("1"); 
} 
else { 
    load(url); 
} 

즉. 그렇지 않으면, url + ".html"는 그것은 ternary operation입니다

+0

그렇다면 반환 값은 무엇입니까? 게시 한 것처럼 읽을 수 있지만 의사 코드를 제공 할 수 있습니까? – user784637

+0

"return"이라는 단어를 포함시키는 것이 적절한 구문이 아니겠습니까? – user784637

+0

3 진 연산자라고하며 기본적으로 조건문의 약식 메서드입니다. 자세한 내용은 http://en.wikipedia.org/wiki/Ternary_operation을 참조하십시오. – simnom

2

로드됩니다, url""와 동일한 경우, 그렇지 않으면 "1" 반환 url 다음, 1.html가로드됩니다 "" 동일한 경우, 귀하의 예제에서 url

을 반환합니다.

+0

OMG !!! 감사합니다. 감사합니다. 나는 그것이 내 모든 문제를 해결했다는 것을 알았다. – user784637

관련 문제