Undefinido es un valor especial, generalmente utilizado para indicar que una variable no tiene ningún valor asignado. Una referencia a un valor indefinido devuelve el valor especial. De hecho, en la mayoría de los lenguajes informáticos, solo hay un valor que representa "ninguno", como nulo en lenguaje C, NULL en lenguaje Java, Ninguno en lenguaje Python y nulo en lenguaje Ruby.
Generalmente, sólo hay dos aspectos de problemas poco claros: problemas locales del servidor del sitio web y del navegador. Debido a que probó varios navegadores y el problema persistió, no fue un problema local del navegador. Se recomienda mirar el código fuente de la página. Si el código fuente tampoco está definido, significa que la página es así, lo cual es un problema con el servidor del sitio web.
Datos extendidos:
Indefinido y nulo
En JavaScript, no hay diferencia entre asignar una variable a indefinido o nulo. Indefinido y nulo se convierten automáticamente en falso en declaraciones if, y el operador igual incluso los reporta directamente como iguales. Dart, el reemplazo del lenguaje JavaScript desarrollado por Google, estipula claramente que solo hay nulos y no indefinidos.
Resulta que esto está relacionado con la historia de JavaScript. Cuando nació JavaScript en 1995, al igual que Java, solo se estableció nulo como valor de "ninguno". Según la tradición del lenguaje C, null está diseñado para convertirse automáticamente a 0. Sin embargo, el diseñador de JavaScript Brendan Eich cree que esto no es suficiente por dos razones.
En primer lugar, null generalmente se trata como un objeto, como en Java. Sin embargo, los tipos de datos de JavaScript generalmente se dividen en dos categorías: tipos primitivos y tipos complejos. Brendan Eich cree que el valor que representa "nada" es mejor que no sea un objeto.
En segundo lugar, la versión original de JavaScript no incluía un mecanismo de manejo de errores. Cuando los tipos de datos no coinciden, generalmente convierte el tipo automáticamente o falla silenciosamente. Brendan Eich cree que si nulo se convierte automáticamente en 0, los errores no serán fáciles de encontrar.
Así que Brendan Ash diseñó otro indefinido. La versión original de JavaScript se distinguía así: nulo es un objeto que representa "nada", que es 0 cuando se convierte en un valor numérico; Indefinido es un valor primitivo que representa "nada", que es NaN cuando se convierte en un valor numérico.
Enciclopedia Baidu: indefinida