2011-08-11 6 views
13

は、ここで(2つだけの機能があります。)このプラグインのドキュメントです 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

これは、javascriptの基本的な三項演算子です。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

あなたは良いです、ありがとうagain – user784637

+0

Curtの答えのような括弧がないのはなぜですか? – Jarad

5

その速記のために:

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

すなわち。それ以外の場合は、url + ".html"はそれがternary operationある

+0

これらは戻り値ですか?あなたが投稿したのと同じように私はそれを読むことができますが、あなたは私に擬似コードを与えることができますか? – user784637

+0

私は混乱していますが、適切な構文に "return"という単語を含めるのではないですか? – user784637

+0

これは三項演算子と呼ばれ、基本的に条件文の略語です - http://en.wikipedia.org/wiki/Ternary_operationで詳しくは – simnom

2

ロードされます、url""に等しい場合、その、そうでない場合は、"1"戻るurlが、その後、1.htmlがロードされます""に等しい場合、あなたの例ではurl

を返します。

+0

OMG !!!ありがとう、ありがとう、ありがとう!!!私は、リンクがすべての私の問題を解決した、それを得る! – user784637

関連する問題