它看起来不像是用JavaScript编写的。
如果您在控制台中输入_now
,则只能获得
function now() { [native code] }
当你试图查看一些内部工作对浏览器不可见的内置方法时,你通常只能得到它。
setTimeout
=>function setTimeout() { [native code] }
_.now
是否使用JavaScript引擎的“本机代码”做了什么?
答案 0 :(得分:6)
默认情况下,_.now
仅为Date.now
,但在不支持它的环境中除外。 Date.now
不受支持的地方_.now
将使用此实现(同样适用于lodash)
_.now = function() {
return (new Date()).getTime()
};
由于您的浏览器支持Date.now
,_.now
只是本机实现的代理
注意:您还可以使用Function.prototype.bind
function foo() {console.log('bar');}
var bar = foo.bind(null);
console.log(bar);
// => function () { [native code] }
答案 1 :(得分:3)
看一下下划线源代码:
_.now = Date.now || function() {
return new Date().getTime();
};
这意味着如果它存在,它将使用Date.now()
,这是一个内部函数。否则它将使用new Date().getTime()
,这是所有JavaScript引擎都支持的。
答案 2 :(得分:-1)
它返回当前时间的整数时间戳。用于实现计时/动画功能。
_.now();
=> 1392066795351