a = new IArray() a[0] = 'Zero' a[1] = 'One' a[2] = 'Two' a[3] = 'Three' a[4] = 'Four' a[5] = 'Five' f = function( a , b ){trace( a + ' ' + b )} o={} o.name = 'I am o' o.f = function( a , b ){trace( this.name + ' ' + a + ' ' + b )} trace('default iterate\n------------------------') a.iterate(f) trace('\nreverse iterate\n------------------------') a.iterate( f , true ) trace('\ntarget reverse iterate\n------------------------') a.iterate( o.f , true , o ) /* trace default iterate ------------------------ 0 Zero 1 One 2 Two 3 Three 4 Four 5 Five reverse iterate ------------------------ 5 Five 4 Four 3 Three 2 Two 1 One 0 Zero target reverse iterate ------------------------ I am o 5 Five I am o 4 Four I am o 3 Three I am o 2 Two I am o 1 One I am o 0 Zero */