es tan fácil como darse cuenta de lo que ready() hace. $(document).ready() se llama cuando el DOM ha sido cargado. Si lo que quieres inter-actuar con el DOM lo mejor es ponerlo dentro de esa función o ponerlo antes de el cierre de la etiqueta </body> (si, no hay nada malo con eso). Si vas a declarar una función no es necesario ponerlo dentro del ready(), Lo que necesitas poner dentro del ready() es cuando llamas esa función. Aunque se puede declarar una función si se va a usar una vez el DOM se ha cargado. Por favor alguien confirmen si estoy bien o es mi imaginación.
*Editar Cuando digo que por favor me confirmen lo digo en serio. Hoy es viernes y los que me siguen en twitter saben que yo a esta hora me he bebido algunas copas de vino