En el estudio de estudio "Guía JavaScript" de ayer 10: Modelo de objetos mejorados de ECMAScript 5, se produjo un fenómeno extraño al depurar un código. Ahora publique el código fuente a continuación:
La copia del código es la siguiente:
<script type = "text/javaScript">
función persona () {}
var per = nueva persona;
Objeto.defineProperties (por,
{
"apodo":
{
Valor: "Tom",
Writable: verdadero
},
"edad":
{
Valor: 20,
configurable: falso,
Writable: Falso
}
});
var o = object.getOwnPropertyDescriptor (por, "apodo");
alerta (json.stringify (o));
</script>
Ejecución de resultados en Google:
http://img.blog.csdn.net/20140529073008296?watermark/2/text/ahr0cdovl2jsb2cuy3nkbi5uzxqv dtaxmta0mzg0mw ==/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma ==/disolver/70/gravity/centro
Este resultado es correcto, pero si lo cambia a otro lugar, el resultado será diferente
La copia del código es la siguiente:
<script type = "text/javaScript">
función persona () {}
var per = nueva persona;
Objeto.defineProperties (por,
{
"apodo":
{
Valor: "Tom",
Writable: verdadero
},
"edad":
{
Valor: 20,
configurable: falso,
Writable: Falso
}
});
var name = object.getOwnPropertyDescriptor (per, "Npokname");
alerta (json.stringify (nombre));
</script>
Resultados de ejecución:
¿Por qué es esto? Acabo de cambiar un nombre de variable simple
El problema radica en el nombre, pero no lo entiendo. Busqué información en línea pero no tuve resultados. Más tarde, fui a preguntarle a un hermano mayor y poner el problema en el foro: http://bbs.csdn.net/topics/390799744??page=1#post-397474060,
El nombre es una propiedad de la ventana, que se utiliza para establecer o devolver el nombre de la ventana, y el tipo de datos es una cadena. Debido a que la primera oración es function persona () {}, ha terminado, por lo que el siguiente código puede estar en el contexto global, es decir, usted piensa alerta (json.stringify (nombre)); es la salida de nombre VAR anterior, pero de hecho, puede ser ventana. Salida de nombre. En cuanto a la salida [objeto objeto], este tipo es el tipo del valor de nombre.