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 文件中),因此显然这两个值之一并不总是 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 回答