Buenas,
yo hablaba de la constructora Function porque en el primer mensaje de David citando a venkman se hablaba del constructor Function.
David, los valores de los literales de objetos pueden ser variables, se pueden crear mas de un objeto por ejemplo si lo incluyes dentro de un bucle y vas cambiando los valores. Para crear el objeto simplemente se puede hacer con el literal {} . Siguiendo con tu ejemplo, suponiendo que tenemos este formulario:
Código HTML:
Ver original<form name="usuario" action="">
Nombre:
<input type="text" name="nombre"> Edad:
<input type="text" name="edad"> Direcci
ón
<input type="text" name="direccion">
<input type="button" value="crear" name="crear">
Código Javascript
:
Ver originalfunction init()
{
var formulario = document.usuario;
var crear = formulario.crear;
crear.onclick = crearUsuario;
}
window.onload = init;
function crearUsuario()
{
var formulario = document.usuario;
// valores introducidos en los inputs
var nombreForm = formulario.nombre.value;
var edadForm = formulario.edad.value;
var direccionForm = formulario.direccion.value;
//creamos el objeto
// asi para crearlo vacio: var persona = {};
// asi con un literal de objeto
var persona = {'dire':direccionForm};
// el valor de la propiedad dire es variable en lugar de una
//cadena como en tu ejemplo
// asignamos los valores a las otras propiedades
persona.nombre = nombreForm; // por el nombre de la propiedad
persona['edad'] = edadForm; // simulando un array asociativo, útil
//cuando el nombre es variable o se desconoce
//comprobamos los valores que hemos asignado
alert('Hola ' + persona.nombre);
alert('edad : ' + persona['edad']);
// podemos comprobar antes si existe la propiedad
if (persona.dire) alert('direccion : ' + persona.dire);
}