我正在学习JS课程,我想知道是否可以在循环中创建新变量?
我的例子:
的JavaScript
var films = {
init: function (titre, annee, real) {
this.titre = titre;
this.annee = annee;
this.real = real;
},
decrire: function () {
var description = this.titre + "(" + this.annee + ")" + ", réalisé par " + this.real;
return description;
}
};
for (var i = 0; i < 4; i++) {
var film = Object.create(films);
film = prompt("Film:");
annee = prompt("année");
real = prompt("real");
}
films.forEach(function (film) {
console.log(decrire());
}
我想在循环的每个回合创建新对象,并询问人们标题,年份和实现者,最后在控制台中打印它。 但是对于我的最后一行代码,我得到了类似的东西:
参数列表之后的Uncaught SyntaxError:missing)
我的网页并没有要求我放一部新电影= /我不知道怎么弄清楚这个。 我在哪里可以找到关于此的一些文档?
答案 0 :(得分:0)
缺少)
关闭forEach
功能。应该是
films.forEach(function (film){
console.log(decrire());
});
编辑:您的代码也包含其他几个错误。抱歉忽略。
是的,您可以在循环中创建新变量。 我修改了你的代码,就像你可能想要它一样。请参阅代码注释。
// It's recommened to use Capitalized name for a "class" like here.
// This is NOT very good Javascript, but it works.
var Film = {
init: function (titre, annee, real) {
this.titre = titre;
this.annee = annee;
this.real = real;
},
decrire: function () {
var description = this.titre + "(" + this.annee + ")" + ", réalisé par " + this.real;
return description;
}
};
// Initial array of films
var films = [];
for (var i = 0; i < 4; i++) {
var film = Object.create(Film);
// Save user inputs
var titre = prompt("Film:");
var annee = prompt("année");
var real = prompt("real");
// Run init function for created
film.init(titre, annee, real);
// Save it to array of films
films.push(film);
}
films.forEach(function (film) {
// Run decrire() of each film in the array
console.log(film.decrire());
});
答案 1 :(得分:0)
你没有关闭你的forEach:
films.forEach( function (film){
console.log( decrire() );
} );
编辑:承认,它只回答错误,而不是问题的其余部分