{__ob__: Observer} startTime : "13:0:0" stopTime : "14:0:0"} 判断这个对象在0 : startTime : "13:0:0" stopTime : "14:0:0" __ob__ : Observer {value: {…}, shallow: false, mock: false, dep: Dep, vmCount: 0} get startTime : ƒ reactiveGetter() set startTime : ƒ
时间: 2023-12-14 21:37:19 浏览: 142
这个对象是一个响应式对象,它有两个属性,startTime 和 stopTime。__ob__ 是一个特殊的属性,它是 Vue.js 内部用来实现响应式的,通常我们不需要直接访问它。 startTime 和 stopTime 都有对应的 getter 和 setter 函数,这些函数在对象被访问或修改时会被触发。
要判断这个对象是否在0点到1点之间,可以先将 startTime 和 stopTime 转换成对应的时间戳,然后比较它们与0点和1点的时间戳的大小关系。具体实现可以参考下面的代码:
```javascript
// 将时间字符串转换成时间戳
function getTimeStamp(timeStr) {
const [hour, minute, second] = timeStr.split(':');
return +new Date(0, 0, 0, hour, minute, second);
}
const obj = {
startTime: '13:0:0',
stopTime: '14:0:0',
__ob__: new Observer(),
get startTime() {
return this.__ob__.value.startTime;
},
set startTime(val) {
this.__ob__.value.startTime = val;
},
get stopTime() {
return this.__ob__.value.stopTime;
},
set stopTime(val) {
this.__ob__.value.stopTime = val;
},
};
const startTimestamp = getTimeStamp(obj.startTime);
const stopTimestamp = getTimeStamp(obj.stopTime);
const zeroTimestamp = getTimeStamp('0:0:0');
const oneTimestamp = getTimeStamp('1:0:0');
if (startTimestamp >= zeroTimestamp && stopTimestamp <= oneTimestamp) {
console.log('在0点到1点之间');
} else {
console.log('不在0点到1点之间');
}
```
阅读全文