Hola
Italico76, pues aquí, regresando al foro luego de unos días de ausencia por asuntos laborales.
Respondiendo a lo primero, la variable
persona
contiene un objeto literal el cual creo y asigno en cada iteración. Un objeto literal es una lista separada por comas de pares
clave: valor. Luego, para asignar valores a sus atributos, es posible hacerlo del modo en que lo ves, accediendo al atributo al unir el nombre del objeto y el del atributo mediante un punto.
Lo segundo, es para preguntar una y otra vez al usuario si desea seguir ingresando datos, hasta que no lo desee y de clic en Cancelar.
Aquí te lo dejo para que lo pruebes.
Saludos