// ALEX's COMMENT: THIS IS NOT A BUG, IT'S JUST THE WAY JAVASCRIPT WORKS. THE FOR-IN LOOP GIVES YOU ALL OF AN OBJECT'S PROPERTIES, EVEN IF IT'S AN ARRAY. SO YOU ARE NOT JUST ITERATING OVER THE INDICES OF THE ARRAY, YOU'RE ALSO GETTING EVERYTHING THAT'S BEEN INHERITED FROM THE ARRAY PROTOTYPE, I.E., METHODS, ETC. // Tracking down array funnyness function try_this( test ){ alert("\n try: " + test ) } { var tests = [ "6+7" ] try_this( tests[0] ) for( var ii in tests ){ try_this( tests[ii] ) } }