Javascript 如何在循环中动态创建新对象

Javascript 如何在循环中动态创建新对象,javascript,Javascript,我正在学习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.ann

我正在学习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());
}
var胶片={
init:函数(titre、annee、real){
这个。滴度=滴度;
this.annee=annee;
this.real=real;
},
decrire:函数(){
VaR描述=T.Trre+“(+ + St.AcNe++))“+”,ReasalePar“+ +。
返回说明;
}
};
对于(变量i=0;i<4;i++){
var film=Object.create(电影);
胶片=提示(“胶片:”);
annee=提示(“année”);
真实=提示(“真实”);
}
电影。forEach(功能(电影){
console.log(decrire());
}
我想在循环的每一个转折点创建新的对象,并要求人们提供标题、年份和现实主义者,最后在控制台中打印出来。 但我在最后一行代码中得到了类似的结果:

参数列表后未捕获的语法错误(缺少)

我的网页没有要求我放一部新电影=/我不知道如何解决这个问题。 在哪里可以找到有关此功能的文档?

缺少
关闭
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());
});
//建议像这里这样的“类”使用大写名称。
//这不是很好的Javascript,但它可以工作。
var薄膜={
init:函数(titre、annee、real){
这个。滴度=滴度;
this.annee=annee;
this.real=real;
},
decrire:函数(){
VaR描述=T.Trre+“(+ + St.AcNe++))“+”,ReasalePar“+ +。
返回说明;
}
};
//初始薄膜阵列
var=[];
对于(变量i=0;i<4;i++){
var film=Object.create(电影);
//保存用户输入
var滴定=提示(“胶片:”);
var annee=提示(“année”);
var real=提示(“real”);
//为创建的对象运行init函数
菲林·尼特(蒂特尔、安妮、雷亚尔);
//将其保存到电影阵列中
电影。推(电影);
}
电影。forEach(功能(电影){
//对阵列中的每个胶片运行decrire()
console.log(film.decrire());
});

您没有关闭forEach:

films.forEach(  function (film){
    console.log(   decrire()   );
} );

编辑:承认,它只回答错误,不回答问题的其余部分

谢谢您的帮助!=)但我不明白什么。如果我们在循环的每个转弯处创建相同的对象:“胶片”。为什么下一个回合不重写上一个对象?:回合1:film=Split,2017,。。。第一关:电影=由内而外,2016。。。。对我来说,循环总是创建相同的对象=/或者它会自动film1、film2等吗?