La idea que hay detrás de la carga de opciones en los plugins ya la conocemos, que éstos sean más configurables y por lo
tanto más versátiles. Pero vamos a intentar dar un ejemplo más claro sobre cómo esas opciones pueden hacer a los plugins
más versátiles.
Imaginemos un plugin para mostrar una caja de diálogo como las que hacemos con jQuery UI.
Esas cajas de diálogo permiten mostrar mensajes en una capa emergente. Esa caja podría tener diversos parámetros para
configurarla, como su altura, anchura, título de la caja, etc. Todos esos parámetros podríamos enviarlos al dar de alta la caja,
con un código como este:}
$("#capa").crearCaja(400, 200, "titulo", ...);
Pero eso no es práctico, porque el usuario debería indicar todos los parámetros para crear la caja, o al menos si no indica
unos no podría indicar otros que están detrás en la lista. Luego, en el código del plugin, el desarrollador debería comprobar
qué parámetros se indican, uno a uno, y darles valores por defecto si no se han indicado, etc. Todo eso ampliaría demasiado
el código fuente.
Entonces, lo que se suele hacer al dar de alta el plugin, es indicar una serie de datos con notación de objeto:
$("#capa").crearCaja({
titulo: "titulo",
anchura: 400,
altura: 200,
...
});
$("#capa").crearCaja({
titulo: "titulo",
anchura: 400,
altura: 200,
...
});
El desarrollador del plugin colocará en el código fuente un objeto con las variables de configuración y sus valores por
defecto. Luego, cuando se cree el plugin, lo mezclará con el objeto de options enviado por parámetro, con una única
sentencia, con lo que obtendrá rápidamente el objeto completo de configuración del plugin que debe ser aplicado.