fix bug in ie8

In ie8, function splice requires the second parameter, witch indicates the number of items to be removed.

In ie8, the following operation will not work as expected:

[0,1,2,3].splice(0);

but the following will:

[0,1,2,3].splice(0,this.length);