Functions are 1st-class objects in Javascript and as such can be declared as literals. The syntax you are seeing here is creating a function literal and assigning it to the onreadystate property of an object.
This construct is also sometimes termed a "closure". [ August 02, 2006: Message edited by: Bear Bibeault ]
In the first example no separate, named function is created -- an unnamed function is created using a function literal. In the second, a reference to a named function is stored.
In either example, a reference to a function that says "hi!" is stored int he someProperty property of someObject.
(There is a difference between the 2 examples regarding how variables are scoped, but that's a nuance that might just be confusing at this point).