function listacursos(curso1,curso2,curso3){
let curso1=[{
Ide: 154532,
nombre:'marketing digital basico',
duracion: '15 dias',
valor: 100000,
}];
let curso2=[{
Ide: 154533,
nombre:'diseño grafico basico',
duracion: '30 dias',
valor: 200000,
}];
let curso2={
Ide: 154534,
nombre:'animacion digital',
duracion:'35 dias',
valor: 180000,
};
}
setInterval(function(listacursos){
console.log('el nombre del curso es: '+curso2.nombre)
},3000);**strong text**
我正在尝试创建一个程序,使我列出" ListAcursos"功能中的每个变量课程,但是我看到错误,好像没有声明该变量,我尝试了所有内容,因为它必须显示一条带有信息的消息每门课程在2秒的时间内,我知道如何执行时间延迟,但是我无法使用Console.Log。
。这是CMD向我显示的错误,在此处输入图像描述
您无法访问listacursos
函数内部变量的原因是因为 clible Scoping 。
在JavaScript中有两种类型的变量。函数内部声明的变量是本地分析这意味着只能在该功能中访问它们:
function example(){
let foo = "test1";
console.log(foo); // Fine!
}
console.log(foo); // Raises an Error
和全球范围,在函数之外声明的变量,可以到处访问:
:const foo = "test1";
function example(){
console.log(foo); // Fine!
}
console.log(foo); // Fine!
这是一个简化的解释,但是这里有一个更深入的解释。
derek brown的答案是正确的,我将为您的代码添加更精确
function listacursos(curso1,curso2,curso3){
let curso1=[{
Ide: 154532,
nombre:'marketing digital basico',
duracion: '15 dias',
valor: 100000,
}];
let curso2=[{
Ide: 154533,
nombre:'diseño grafico basico',
duracion: '30 dias',
valor: 200000,
}];
let curso2={ //You already declare a "curso2" variable
Ide: 154534,
nombre:'animacion digital',
duracion:'35 dias',
valor: 180000,
};
}
setInterval(function(listacursos){ // Your function 'listacurso' doesn't return anything, so you are just executing it.
console.log('el nombre del curso es: '+curso2.nombre)
},3000);
为了使它起作用,我建议您做
之类的事情 function listacursos(){
let obj = {};
let curso1=[{
Ide: 154532,
nombre:'marketing digital basico',
duracion: '15 dias',
valor: 100000,
}];
let curso2=[{
Ide: 154533,
nombre:'diseño grafico basico',
duracion: '30 dias',
valor: 200000,
}];
let curso3={
Ide: 154534,
nombre:'animacion digital',
duracion:'35 dias',
valor: 180000,
};
obj.curso1 = curso1;
obj.curso2 = curso2;
obj.curso3 = curso3;
return obj;
}
setInterval(function(){
let courso = listacursos();
console.log('el nombre del curso es: ', courso.curso2[0].nombre)
},3000);
这意味着您将每个" curso"存储在" obj" js json中,以更准确地说,然后将其返回。然后,您创建一个可存储该JSON的变量,即" Curso"变量。
AS" curso2"实际上是一个数组,您必须添加" [0]"才能读取内部的JSON。
您可以在此处更喜欢JSON:https://www.w3schools.com/js/js_json.asp