我在互联网上看到了这段代码: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 吗?我不明白它是如何工作的。
最佳答案
不,它只是返回一个数组。数组中的第一项是计算表达式 dt.getDay() != 0 && dt.getDay() != 6
的结果(因为它是使用 &&
运算符)将为 true
或 false
。数组中的第二项是空字符串 (""
)。
因此返回的最终结果将类似于 [true, ""]
。
手写,你可以这样写:
var returnVal = [];
var day = dt.getDay();
var result = false;
if (day != 0 && day != 6) result = true;
returnVal.push(result);
returnVal.push("");
return returnVal;
我希望分割可以帮助您了解该行中的每一部分代码正在做什么。
关于javascript - 这个表达式在 JavaScript 中起什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53509679/