15

StackOverflowのクライアント側コードのいくつかを調べていたところ、次のソースコードでJavaScriptのこのブロックに遭遇しましたhttps://stackoverflow.com/questions/ask

if ($answerCheckbox.is(':checked') || 0 > 0) {
     $answerCheckbox.attr('checked', true);
     $('#question-only-section').hide();
     StackExchange.using("editor", function () {
          setTimeout(function () { showAnswerSection(true) }, 2);
     });
}

false代わりに使用しないのはなぜですか?

4

4 に答える 4

15

コードはすべてネイティブに記述された Javascript であると想定しています。実行時にこのように解決されるプログラム識別子を介して要素を参照するサーバー生成スクリプトを見ることは珍しくありませんが、これは確かに少し奇妙に見えます。

于 2012-09-12T19:19:43.667 に答える
6

これは生成されたコード (.js ではない) ファイルであるため、これら 2 つの値のいずれかが常に 0 ではなく、サーバー側の変数であることは明らかです。

于 2012-09-12T19:20:20.643 に答える
6

理由はありません...しかし、サーバー側のコードを理解するまでは、確実に知ることはできません。

(PHP)変数があり、シナリオに依存している$x=1可能性があるとしましょう。$x=0

if ($answerCheckbox.is(':checked') || <?php echo $x;?> > 0) {

そのコードは完全に理にかなっています....

于 2012-09-12T19:20:54.633 に答える
4

その行はおそらくphpから来ているので、次のようになります。

if ($answerCheckbox.is(':checked') || <?php echo $tot; ?> > 0) {

状況によっては、そのようなコードを書かなければならなかったからです。

于 2012-09-12T19:20:41.793 に答える