如果有对象:
取值:
var x= nowTime && nowTime.list && nowTime.list[0] && nowTime.list[0].time || new Date();
那么,x 的值就是 time 或者 当前时间。
这里就是 分为两部分,前面的 nowTime && nowTime.list && nowTime.list[0] && nowTime.list[0].time 使用的都是 && 运算符号,所以,如果有一个为 false , 则这一段表达式就都是 false,而最后一个是 || new Date() 所以在前面的都是 false 时就会去执行 这一段,返回当前时间。
另外,如果前面的 nowTime && nowTime.list && nowTime.list[0] && nowTime.list[0].time 返回了时间,也就是 true 了,或者后面的 || new Date() 是不会执行的。
1
2
3
4
5
6
|
var
nowTime = {
list: [{
time:
null
,
name: 时间
}]
}
|
取值:
var x= nowTime && nowTime.list && nowTime.list[0] && nowTime.list[0].time || new Date();
那么,x 的值就是 time 或者 当前时间。
这里就是 分为两部分,前面的 nowTime && nowTime.list && nowTime.list[0] && nowTime.list[0].time 使用的都是 && 运算符号,所以,如果有一个为 false , 则这一段表达式就都是 false,而最后一个是 || new Date() 所以在前面的都是 false 时就会去执行 这一段,返回当前时间。
另外,如果前面的 nowTime && nowTime.list && nowTime.list[0] && nowTime.list[0].time 返回了时间,也就是 true 了,或者后面的 || new Date() 是不会执行的。