如何克隆一个 Date 对象?

摘要

本教程将介绍如何克隆(复制)一个 Date 对象。我们将提供示例代码来说明这个问题。

内容

将一个 Date 变量赋值给另一个变量只会复制指向同一实例的引用。这意味着更改一个变量会影响到另一个变量。那么,如何实际上克隆或复制一个 Date 实例呢?

以下是几种常见的方法:

使用 getTime() 方法

1let date = new Date();
2let copiedDate = new Date(date.getTime());

在 Safari 4 中,你也可以使用以下代码:

1let date = new Date();
2let copiedDate = new Date(date);

请注意,这种方法在其他浏览器中是否有效暂时未知,但似乎在 IE8 中有效。

使用 valueOf() 方法

1let date = new Date();
2let copiedDate = new Date(date.valueOf());

使用原型链

1Date.prototype.clone = function() {
2  return new Date(this.getTime());
3};

以上是一些常见的方法,它们可以帮助你克隆或复制一个 Date 对象。

总结

你可以通过使用 getTime() 方法、valueOf() 方法或原型链的方式来克隆或复制一个 Date 对象。根据你的需求和代码风格,选择合适的方法即可实现 Date 对象的克隆和复制。


相关文章推荐