var Iterator = function (values) { this.values = values; } Iterator.prototype = { each : function (block) { for (var i = 0; i < this.values.length; i++) { block(this.values[i]); } } } var iterator = new Iterator([1, 2, 3]) iterator.each(function(value) { console.log(value); } )