我正在浏览一些StackOverflow的客户端代码,并在https://stackoverflow.com/questions/ask
的源代码中遇到了这个JavaScript块:
if ($answerCheckbox.is(':checked') || 0 > 0) {
$answerCheckbox.attr('checked', true);
$('#question-only-section').hide();
StackExchange.using("editor", function () {
setTimeout(function () { showAnswerSection(true) }, 2);
});
}
为什么不使用false
?
答案 0 :(得分:15)
您假设代码全部是用Javascript编写的。看到一些服务器生成的脚本通过某些程序标识符引用元素并不罕见,这些标识符在运行时就像这样解析,这看起来有点奇怪。
答案 1 :(得分:6)
它是生成的代码(不在.js文件中),所以显然这两个值中的一个并不总是0而是服务器端变量。
答案 2 :(得分:6)
没有理由......但在你知道服务器端代码之前,你无法确定。
假设(PHP)你有一个变量$x=1
,也可能是$x=0
,具体取决于场景。
if ($answerCheckbox.is(':checked') || <?php echo $x;?> > 0) {
该代码非常有意义....
答案 3 :(得分:4)
因为该行可能来自php,如下所示:
if ($answerCheckbox.is(':checked') || <?php echo $tot; ?> > 0) {
我知道,因为在某些情况下我必须编写类似的代码。