javascript";翻译;这些捷径

javascript";翻译;这些捷径,javascript,shortcuts,Javascript,Shortcuts,编辑 代码来自: 我有一个我不懂的javascript代码 事情是这样的: return[true,date1&&((date.getTime()=date1.getTime())| |(date2&&date>=date1&&date=date1&&date以下是如何重写它: 返回[ 符合事实的 date1&((date.getTime()==date1.getTime())| |(date2&&date>=date1&&date=date1&&date以下是如何重写它: 返回[ 符合事实的

编辑 代码来自:

我有一个我不懂的javascript代码

事情是这样的:


return[true,date1&&((date.getTime()=date1.getTime())| |(date2&&date>=date1&&date=date1&&date以下是如何重写它:

返回[
符合事实的

date1&((date.getTime()==date1.getTime())| |(date2&&date>=date1&&date=date1&&date以下是如何重写它:

返回[
符合事实的

date1&((date.getTime()==date1.getTime())| |(date2&&date>=date1&&date=date1&&date它返回一个包含两个值的数组

我想你的意思是:

if (date1 && (date.getTime() == date1.getTime() || (date2 && date >= date1 && date <= date2))) {
  return [true, "dp-highlight"];
} else {
  return [true, ""];
}

if(date1&&(date.getTime()==date1.getTime()| | |)(date2&&date>=date1&&date返回一个包含两个值的数组

我想你的意思是:

if (date1 && (date.getTime() == date1.getTime() || (date2 && date >= date1 && date <= date2))) {
  return [true, "dp-highlight"];
} else {
  return [true, ""];
}

if(date1&&(date.getTime()==date1.getTime()| | |)(date2&&date>=date1&&date我认为这样编写的代码可以帮助理解实际比较的内容

var arr = [true];
var isEqualTime = date.getTime() == date1.getTime();
var x = date2 && date; // if both dates are defined take date
var y = date1 && date; // if both dates are defined take date
var boolValue = isEqualTime || (x >= y <= date2);
var z = date1 && boolValue; // set z true, false or undefined.

if(z){
    arr.push("dp-highlight");
}else{
    arr.push("");
}
var arr=[true];
var isEqualTime=date.getTime()==date1.getTime();
var x=date2&&date;//如果两个日期都定义为take date
var y=date1&&date;//如果两个日期都定义为take date

var boolValue=isEqualTime | |(x>=y我认为这样编写的代码有助于理解实际比较的内容

var arr = [true];
var isEqualTime = date.getTime() == date1.getTime();
var x = date2 && date; // if both dates are defined take date
var y = date1 && date; // if both dates are defined take date
var boolValue = isEqualTime || (x >= y <= date2);
var z = date1 && boolValue; // set z true, false or undefined.

if(z){
    arr.push("dp-highlight");
}else{
    arr.push("");
}
var arr=[true];
var isEqualTime=date.getTime()==date1.getTime();
var x=date2&&date;//如果两个日期都定义为take date
var y=date1&&date;//如果两个日期都定义为take date

var boolValue=isEqualTime | |(x>=y我认为打开的参数应该在
date1&&
之前,它返回一个两元素数组,您返回的是一个字符串。顺便说一句,
date.getTime()==date1.getTime()
可以是
date==date1
@thefourtheye添加一组额外的括号没有任何区别。表达式本质上是
date1&&(/*其他内容*/)?trueResult:falseResult;
。date1可能是
NaN
undefined
,在这种情况下,它将直接跳到false结果。@RobG如果
date1
为falsy,它将返回
,但是如果打开的参数在
date1&&
之前,它提供了一个验证
date2
的机会。我认为打开的参数应该在
date1&&
之前,它返回一个两元素数组,您返回的是一个字符串。顺便说一句,
date.getTime()==date1.getTime()
可以是
date==date1
@thefourtheye添加一组额外的括号没有任何区别。表达式本质上是
date1&&(/*其他内容*/)?trueResult:falseResult;
。date1可能是
NaN
undefined
,在这种情况下,它将直接跳到false结果。@RobG如果
date1
为falsy,它将返回
,但如果打开的参数在
date1&&
之前,它将提供一个
date2
验证的机会。啊哈..非常感谢sp00m!啊哈..非常感谢sp00m!