扫码关注官方订阅号
图片描述
new出来的这个date 和Date,以及Date()这三者有何区别?为什么第一个能打印出时间戳,第二个会提示now 不是函数?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
Date你可以立即为是原型对象,date是实例对象。
Date.now属于原型对象提供的一个方法,date实例对象上并没有now方法(可以对应到Date.prototype上没有now方法)。
如果要类比类来理解的话,你可以将Date.now视作静态方法,date是Date的实例化。
console.dir(Date);
可以看到Date的一些信息。
now() 是Date的一个静态函数,所以必须以 Date.now() 的形式来使用
请参考《JavaScript高级程序设计》第六章
看文档now是定义在构造函数本身的方法,不是在原型上的方法,看看MDN上的polyfill就知道了
now
polyfill
if (!Date.now) { Date.now = function now() { return new Date().getTime(); }; }
function fn(){} fn.now = function(){ return 10086; }; var oFn = new fn(); console.log(fn.now()); // 10086 fn 函数 上的 now 方法 console.log(oFn.now); // undefined 也就是 说 实例 和 原型 和 链 中 没 now 这 属性
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
Date你可以立即为是原型对象,date是实例对象。
Date.now属于原型对象提供的一个方法,date实例对象上并没有now方法(可以对应到Date.prototype上没有now方法)。
如果要类比类来理解的话,你可以将Date.now视作静态方法,date是Date的实例化。
可以看到Date的一些信息。
now() 是Date的一个静态函数,所以必须以 Date.now() 的形式来使用
请参考《JavaScript高级程序设计》第六章
看文档
now是定义在构造函数本身的方法,不是在原型上的方法,看看MDN上的polyfill就知道了