-4

disabled(current) {

return current && current.valueOf() > Date.now();

}

查看全部 5 个回答

2

已采纳

// 可能楼主不太理解valueOf

Object.prototype.valueOf()
该方法返回的是用基本类型所表示的this值,如果它可以用基本类型表示的话。如果Number对象返回的是它的基本数值,而Date对象返回的是一个时间戳(timestamp)。如果无法用基本数据类型表示,该方法会返回this本身。

// Object
var o = {};
typeof o.valueOf(); // 'object'
o.valueOf() === o; // true
// Number
var n = new Number(101);
typeof n; // 'object'
typeof n.vauleOf; // 'function'
typeof n.valueOf(); // 'number'
n.valueOf() === n; // false
// Date
var d = new Date();
typeof d.valueOf(); // 'number'
d.valueOf(); // 1503146772355

以上这段摘抄自我的文章JavaScript 对象所有API解析
有了这些知识点后,参数current应该是一个日期对象。
Date.now()是获取当前时间的时间戳。MDN文档 Date.now()
// 比如现在的时间戳是1507824803822
如果不是很理解逻辑与,可以看看MDN文档 逻辑运算符&&
对于一些知识不了解,可以多查查MDN Web 技术文档,知识点还是比较详细。比如MDN搜索下valueOf,有很多结果。