// ¿Alguien puede explicar por qué mi salida no está definida? Estoy tratando de averiguar cuáles son los problemas aquí. Lo siento, soy nuevo en javascript.
function Person() { this.name = 'Jack', this.age = 25, this.sayName = function () { //enter code here this is accessible console.log(this.age); function innerFunc() { // this refers to the global object console.log(this.age); console.log(this); } innerFunc(); } } let x = new Person(); x.sayName(); Output: 25 undefined Window {}La función interna innerFunc no sabe lo que this significa, por lo que especifica esto global. Puedes bind this con innerFunc
function Person() { this.name = 'Jack'; this.age = 25; this.sayName = function() { console.log(this.age); function innerFunc() { console.log(this.age); console.log(this); } innerFunc.bind(this)(); } } let x = new Person(); x.sayName();