gpt4 book ai didi

javascript - 日期循环增量和增长变量 ( mootools )

转载 作者:行者123 更新时间:2023-11-28 02:07:54 25 4
gpt4 key购买 nike

有人可以用新的眼光来看看这个吗?

var start_date = Date.parse('2013-07-01');
var i_date = Date.parse('2013-07-5');

console.log(start_date + '---before loop ');

for (var n = start_date; n < i_date; n.increment()) {
console.log(start_date + '---inside loop ');
}
console.log(start_date + '---after loop ');

此代码产生以下结果:

Mon Jul 01 2013 00:00:00 GMT+0200 (W. Europe Daylight Time)---before loop
Mon Jul 01 2013 00:00:00 GMT+0200 (W. Europe Daylight Time)---inside loop
Tue Jul 02 2013 00:00:00 GMT+0200 (W. Europe Daylight Time)---inside loop
Wed Jul 03 2013 00:00:00 GMT+0200 (W. Europe Daylight Time)---inside loop
Thu Jul 04 2013 00:00:00 GMT+0200 (W. Europe Daylight Time)---inside loop
Fri Jul 05 2013 00:00:00 GMT+0200 (W. Europe Daylight Time)---after loop

为什么start_date变量会增长?

( fiddle here 如果需要)

最佳答案

问题是 nstart_date 指向同一个对象。您需要通过创建新的 Date 对象来克隆日期,例如:

n = new Date(start_date);

Updated demo .

示例:

> a = new Date()
Sun Jul 07 2013 19:51:09 GMT+0600 (Ekaterinburg Standard Time)
> b = a
Sun Jul 07 2013 19:51:09 GMT+0600 (Ekaterinburg Standard Time)
> c = new Date(a)
Sun Jul 07 2013 19:51:09 GMT+0600 (Ekaterinburg Standard Time)
// Do some stuff with "a"
> a
Sat Jun 29 2013 19:51:09 GMT+0600 (Ekaterinburg Standard Time)
> b
Sat Jun 29 2013 19:51:09 GMT+0600 (Ekaterinburg Standard Time)
> c
Sun Jul 07 2013 19:51:09 GMT+0600 (Ekaterinburg Standard Time)

关于javascript - 日期循环增量和增长变量 ( mootools ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17512638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com