Really simple: it pushes a new item onto the end of the array.
push
Imagine you have this array:
var alphabet = ["a", "b"];
That means it has these values:
alphabet[0] == "a"
alphabet[1] == "b"
alphabet.length == 2
Now we push an item on top of it:
alphabet.push("c")
And now the array consists of this:
alphabet[0] == "a"
alphabet[1] == "b"
alphabet[2] == "c"
alphabet.length == 3
splice
As for array.splice, the 2 defines that your starting point is at position 2 of the array. The 0 indicates how many elements to remove from that point (in this case none). The "drum" inserts that at position 2 and pushes all elements in the array that were 2 or higher up. Example with the alphabet array:
alphabet.splice(2, 0, "d");
So now you have these values in the array:
alphabet[0] == "a"
alphabet[1] == "b"
alphabet[2] == "d"
alphabet[3] == "c"
alphabet.length == 4
And removing 2 elements from point 0 onward:
alphabet.splice(0, 2);
You now have these values:
alphabet[0] == "d"
alphabet[1] == "c"
alphabet.length == 2