Does this work cross browser? Provided Object.prototype hasn't been modified, will the following snippet work in major browsers?

var obj = {length:0};
var push = Array.prototype.push;
push.call(obj,'1st value')
push.call(obj,'2nd value');


Many have responded that the above code is bad practice, but what makes code like this any better?

Array.prototype.slice(arguments,0)


Both are calling Array.prototypes on non Arrays.
I'm going to say no, because this is an array. It works, but you are hammering a screw at this point. Simply use an array.