validar validacion solucionar quitar formularios formulario error enviar ejemplos con como antes javascript html variables web defined

javascript - validacion - ¿Por qué la variable ''nombre'' no necesita ser inicializada después del primer uso



validar formulario javascript html5 (3)

Esta pregunta ya tiene una respuesta aquí:

Cada vez que inicializo una variable llamada ''nombre'', mantiene su valor a través de las páginas.

Me gusta esto:

page1.html

<html> <script> var name = prompt("What''s your name?"); alert(name); </script> <a href=''page2.html''> Page2</a> </html>

page2.html

<html> <script> alert(name); </script> </html>

Entonces, en ambas páginas, el nombre de la variable mantiene el valor de lo que se le ha dado en el aviso de la primera página, las dos páginas alertan lo mismo, ¿podría alguien explicarme por qué sucede esto?


El comportamiento que estás viendo no es normal y no funcionará para casi ninguna otra variable. name es en realidad una variable reservada en Javascript, por lo que está viendo un comportamiento interesante.

Todas las variables en Javascript son propiedades del objeto window . Si crea una variable llamada age , también puede acceder a ella en window.age . window.name es una propiedad especial de la ventana del navegador actual que le permite recibir un nombre, y este valor puede persistir entre páginas.

Si cambia el nombre de su variable a age , volverá a funcionar como se esperaba: la variable estará vacía en page2.html.

Un poco más sobre window.name


La variable de name global es la propiedad window.name . Es una cadena que persiste en todas las cargas de página en el mismo contexto de exploración: si abre la segunda página en una nueva pestaña, ya no debería "funcionar".

Para evitar esto, use un nombre seguro para su variable en su lugar, o envuelva su código en un IIFE .


No mantendrá su valor a través de las páginas, y las dos páginas no alertarán lo mismo.

Debe haber algún otro código en su página que establezca el name de algún valor.