It's called an
"anonymous" function[
^]. Since it's being assigned to an onload event, this is possible.
The semicolon needs to be there because this is an assignment statement, not really the definition of a function. All assignment statements must end with a semicolon.