用于循环行为的 Javascript 每次迭代输出相同的结果
Javascript for loop behaviour outputting the same result each iteration
我承认我有点像JS新手,来自PHP背景,我对范围的概念显然与Javascript不同。
// There's a date set, so begin processing
var original_date = new Date($('input#tour_encoded_dates').val());
var date_search_string = '';
var day_limit = 14;
var timestamp = '';
// Go forwards day_limit days
for(var i = 0; i < day_limit; i++) {
timestamp = strtotime('+'+i+' days', original_date);
calculated_date = new Date(timestamp).format('Y-m-d');
date_search_string += calculated_date + ' ';
}
console.log(date_search_string);
console.log()
的输出为:
2013-10-10 2013-10-10 2013-10-10 2013-10-10 2013-10-10 2013-10-10 2013-10-10 2013-10-10 2013-10-10 2013-10-10 2013-10-10 2013-10-10 2013-10-10 2013-10-10
我本来希望每次迭代都会将日期增加一天,但它们保持不变。
作为参考,如果我将循环的最后一行更改为date_search_string += timestamp + ' ';
则输出如下:
1381363200000 1381363286400 1381363372800 1381363459200 1381363545600 1381363632000 1381363718400 1381363804800 1381363891200 1381363977600 1381364064000 1381364150400 1381364236800 1381364323200
所以问题显然出在calculated_date
变量上——对吧?
有人可以解释正确的方法吗?谢谢。
每个时间戳之间有 86400(即 1/1000 天(。
您正在计算(以strtotime
为单位(,就好像时间戳是秒,但它们是毫秒。
相关文章:
- 如何在javascript中迭代数字列表
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 如何迭代Array.prototype函数
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- 在ejs-partial中对JSON对象进行迭代
- 如何在DataTables 2.1中迭代对象数组
- 使用递归属性迭代保留属性结构
- 正在停止.在jquery中的特定时间间隔内,每次迭代的每次执行
- For 循环不迭代,输出的数据不超过第一个任务
- 用于循环行为的 Javascript 每次迭代输出相同的结果
- For 循环仅输出上次迭代
- jQuery对输出的Ci/Sql数据进行迭代
- 从json数组中迭代并输出条件数据
- 主干模型循环输出最终对象,而不是迭代器
- 如何迭代此JSON对象并将每个项作为表头输出
- 是否可以不迭代地以格式化的方式输出DataFrame ?
- 在关联数组上的for in迭代的控制台输出结束时未定义
- 如何迭代jquery.map的输出
- 为什么当我在迭代中中断标签时输出此结果
- 在json上迭代得到不一致的输出