如果有对象:
取值:
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() 是不会执行的。