我有一个循环,它返回一个包含增量值的图像源列表。在测试时,由于图像src的原因,我使用带有前导零的4位数值。
我注意到的一件奇怪的事情是,如果我在循环条件中使用前导零,它会在398处停止。如果我删除了这个零,它就会正确完成。
// Stops at 398
for (var i = 0001; i < 0617; i++) {
$('.target').append('{"src": "IMG_' + i + '.jpg", "id":"image' + i + '"}');
}
// Completes
for (var i = 0001; i < 617; i++) {
$('.target').append('{"src": "IMG_' + i + '.jpg", "id":"image' + i + '"}');
}
Here's a fiddle with a working example
有没有人对这种行为有任何见解?
答案 0 :(得分:3)
带有前导零的javascript中的数字是八进制数。
答案 1 :(得分:0)
执行此操作的一种简单方法是将零添加为文本。我用这两行更新了你的小提琴:
var number = i;
if (number<=9999) { number = ("000"+number).slice(-4); }
您可以在此处找到它:https://jsfiddle.net/16p455z7/2/