Javascript 如何在循环中动态创建新对象
我正在学习JS课程,我想知道是否有可能在循环中创建新变量 我的例子是: JavaScriptJavascript 如何在循环中动态创建新对象,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
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等吗?