Array.prototype.join: Arguments as Array
var argJoin = function ()
{
return Array.prototype.join.call(arguments, '');
}
alert(argJoin(1, 2, 3, 4, 5));
Array.prototype.slice: Arguments as Array
var argSlice = function ()
{
return Array.prototype.slice.call(arguments, 1, 3).join('');
}
alert(argSlice(6, 7, 8, 9, 0));
Array.prototype.join and slice: Normal object as Array
var obj = {
'a': 97, 'b': 98, 'c': 99, 'd': 100, 'e': 101,
'f': 102, 'g': 103, 'h': 104, 'i': 105, 'j': 106,
'length': 10
}
try{
obj.__defineGetter__('0', function (){return this.a;});
obj.__defineGetter__('1', function (){return this.b;});
obj.__defineGetter__('2', function (){return this.c;});
obj.__defineGetter__('3', function (){return this.d;});
obj.__defineGetter__('4', function (){return this.e;});
obj.__defineGetter__('5', function (){return this.f;});
obj.__defineGetter__('6', function (){return this.g;});
obj.__defineGetter__('7', function (){return this.h;});
obj.__defineGetter__('8', function (){return this.i;});
obj.__defineGetter__('9', function (){return this.j;});
var objJoin = function ()
{
return Array.prototype.join.call(obj, '_');
}
var objSlice = function ()
{
return Array.prototype.slice.call(obj, 5, 8).join('_');
}
}
catch (err)
{
alert(err.message);
}
alert(objJoin());
alert(objSlice());