此表达式在JavaScript中有什么作用?

时间:2018-11-27 23:14:37

标签: javascript jquery jquery-ui

我在互联网上看到了以下代码:http://jsfiddle.net/q9dEB/392/

$(function()
{
    $('#txtDate').datepicker({ beforeShowDay:
      function(dt)
      {

        return [dt.getDay() != 0  && dt.getDay() != 6 , ""];
      }
   });
});

我的问题是关于这部分的:

return [dt.getDay() != 0  && dt.getDay() != 6 , ""];

它像是理解函数列表的lambda吗?我不明白它是如何工作的。

1 个答案:

答案 0 :(得分:4)

否,它只是返回一个数组。数组中的第一项是对表达式dt.getDay() != 0 && dt.getDay() != 6求值的结果,该表达式(由于它是使用&&运算符的表达式)将为truefalse。数组中的第二项是一个空字符串("")。

因此返回的最终结果将类似于[true, ""]

长手,您可以这样写:

var returnVal = [];
var day = dt.getDay();
var result = false;
if (day != 0 && day != 6) result = true;
returnVal.push(result);
returnVal.push("");
return returnVal;

我希望故障能够帮助您了解该行中每一段代码的作用。