我不知道为什么函数不使用我的变量
i dont know why the functions aren´t using my variable
我创建了一个包含字符串的变量,然后将该变量放入两个不同的函数中。这里的问题是它向我显示了一个错误:“Uncaught ReferenceError: mostrarDatosTexto is not defined”。我不太确定为什么会这样。这是代码:
const Libro = (titulo, autor) => {return(
{
autor: autor,
titulo: titulo,
mostrarDatosTexto: `${titulo}, de ${autor.toUpperCase()}`,
mostrarDatosEnConsola: () => {return (console.log(mostrarDatosTexto))},
mostrarDatosEnAlert: () => {return (alert(mostrarDatosTexto))},
}
)}
let unLibro = Libro('Ángeles y Demonios', 'Dan Brown')
console.log(unLibro)
unLibro.mostrarDatosEnConsola()
unLibro.mostrarDatosEnAlert()
如果你能帮助我,我将不胜感激
mostrarDatosTexto
是一个 属性,不是变量。您需要使用 XXX.mostrarDatosTexto
语法访问它。
在对象方法中,您可以使用this
来引用调用该方法的对象。但是你必须使用普通函数,而不是箭头函数,因为箭头函数从定义它们的范围中保留 this
的值,它们不会将其作为方法调用联系人接收。
console.log()
和 alert()
没有 return 任何东西,所以使用 return
到 return 它们的值是没有意义的。不使用 return
.
直接调用它们
const Libro = (titulo, autor) => {
return (
{
autor: autor,
titulo: titulo,
mostrarDatosTexto: `${titulo}, de ${autor.toUpperCase()}`,
mostrarDatosEnConsola: function() {
console.log(this.mostrarDatosTexto);
},
mostrarDatosEnAlert: function() {
alert(this.mostrarDatosTexto);
},
}
)
}
let unLibro = Libro('Ángeles y Demonios', 'Dan Brown')
console.log(unLibro)
unLibro.mostrarDatosEnConsola()
unLibro.mostrarDatosEnAlert()
我创建了一个包含字符串的变量,然后将该变量放入两个不同的函数中。这里的问题是它向我显示了一个错误:“Uncaught ReferenceError: mostrarDatosTexto is not defined”。我不太确定为什么会这样。这是代码:
const Libro = (titulo, autor) => {return(
{
autor: autor,
titulo: titulo,
mostrarDatosTexto: `${titulo}, de ${autor.toUpperCase()}`,
mostrarDatosEnConsola: () => {return (console.log(mostrarDatosTexto))},
mostrarDatosEnAlert: () => {return (alert(mostrarDatosTexto))},
}
)}
let unLibro = Libro('Ángeles y Demonios', 'Dan Brown')
console.log(unLibro)
unLibro.mostrarDatosEnConsola()
unLibro.mostrarDatosEnAlert()
如果你能帮助我,我将不胜感激
mostrarDatosTexto
是一个 属性,不是变量。您需要使用 XXX.mostrarDatosTexto
语法访问它。
在对象方法中,您可以使用this
来引用调用该方法的对象。但是你必须使用普通函数,而不是箭头函数,因为箭头函数从定义它们的范围中保留 this
的值,它们不会将其作为方法调用联系人接收。
console.log()
和 alert()
没有 return 任何东西,所以使用 return
到 return 它们的值是没有意义的。不使用 return
.
const Libro = (titulo, autor) => {
return (
{
autor: autor,
titulo: titulo,
mostrarDatosTexto: `${titulo}, de ${autor.toUpperCase()}`,
mostrarDatosEnConsola: function() {
console.log(this.mostrarDatosTexto);
},
mostrarDatosEnAlert: function() {
alert(this.mostrarDatosTexto);
},
}
)
}
let unLibro = Libro('Ángeles y Demonios', 'Dan Brown')
console.log(unLibro)
unLibro.mostrarDatosEnConsola()
unLibro.mostrarDatosEnAlert()