Skip to Content
JavaScript 经典实例:第三版
book

JavaScript 经典实例:第三版

by Adam D. Scott, Matthew MacDonald, Shelley Powers
September 2022
Intermediate to advanced
585 pages
8h 17m
Chinese
China Electric Power Press Ltd.
Content preview from JavaScript 经典实例:第三版
日期
97
today.setDate(currentDay + 21);
console.log(`Three weeks from today is ${today}`);
4.3.3
讨论
setDate()
方法的参数不限于只能使用正整数,还可以使用负数后退日期。其他
setXxx()
形式的方法可以修改日期的其他部分,例如
setMonth()
方法向前或向后
移动月份、
setHours()
方法移动小时等。与
setDate()
法一样,这些方法均可顺
延,因此增加
48
小时将把日期向前移动两整天。
Date
对象是可变的,这种行为显然已经过时。在更现代的
JavaScript
库中,
setDate()
这种方法应该返回一个新
Date
对象。而真实情况是,直接修改当前
Date
对象。即使通过
const
声明日期也是如此(
const
禁止把变量指向其他
Date
对象,但是不能阻止你修改当前引用的
Date
对象)。为了避免潜在的问题,可以在
操作之前把日期克隆一份。为此,可以使用
Date.getTime()
方法获取底层表示日
期的毫秒数,使用它新创建一个对象。
const
originalDate =
new
Date();
//
克隆日期
const
futureDate =
new
Date(originalDate.getTime());
//
修改克隆得到的日期
futureDate.setDate(originalDate.getDate()+21);
console.log(`Three weeks from ${originalDate} ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

JavaScript Patterns

JavaScript Patterns

Stoyan Stefanov
JavaScript

JavaScript

David Flanagan
JavaScript

JavaScript

T. J. Crowder

Publisher Resources

ISBN: 9787519869601