This is my code:
$.each(3, function(n) {
alert(n);
});
I want to alert three times but it doesn\'t work. What can I do?
You can't.
$.each
can only iterate over arrays or objects.
You're looking for the for
loop:
for(var n = 0; n < 5; n++) {
alert(n);
}
each
must operate on an object. Try to create an array of length 3, e.g.
$.each(new Array(3),
function(n){alert(n);}
);
Of course, I don't see the reason to avoid normal Javascript.
for (var n = 0; n < 3; ++ n)
alert(n);
Late answer, but another option would be to prototype the Number with a method that would call a callback that many times.
Number.prototype.loop = function(cb) {
for (var i = 0; i < this; i++) {
cb.call(this, i);
}
return this + 0;
};
Then call it like this:
(3).loop(i => alert(i))
However, it should be noted it is considered bad practice to modify standard prototypes like this. See the section on this MDN page called Bad practice: Extension of native prototypes.
RightJS does something like this. (Others probably too.)