Javascript显示();不显示pop、push、unshift、shift?
我是JavaScript新手,正在学习pop、push、shift和unshift。我试着有3部电影,在不同的时间展示全部4部。但是,my.display();函数没有显示任何内容。我犯了一个错误Javascript显示();不显示pop、push、unshift、shift?,javascript,Javascript,我是JavaScript新手,正在学习pop、push、shift和unshift。我试着有3部电影,在不同的时间展示全部4部。但是,my.display();函数没有显示任何内容。我犯了一个错误 Uncaught TypeError: ArrayOfMovies.push is not a function 我相信另一个也会有同样的问题;元素 function Movie(title, genre, rating, price, img) { this.title = title;
Uncaught TypeError: ArrayOfMovies.push is not a function
我相信另一个也会有同样的问题;元素
function Movie(title, genre, rating, price, img) {
this.title = title;
this.genre = genre;
this.rating = rating;
this.price = price;
this.image = img;
this.display = displaymovie;
}
function displaymovie() {
document.write("<blockquote style='text-align:left; font-size:15px; font-family: Arial, sans-sherif; font-weight:600; float:left; padding-left: 20px; padding-right:40px; padding-top:40px; color:#C58917;'>Title:" + this.title + "<br>");
document.write("Genre:" + this.genre + "<br>");
document.write("Rating:" + this.rating + "<br>");
document.write("Price:" + this.price + "</blockquote><br>");
document.write("<span><IMG float:'right' SRC='" + this.image + "' style='width:138px; height:158px;'>" + "<BR><BR>");
}
var movieone = new Movie(" Avengers the age of Ultron", " Action / Adventure", " 8.0/10.0", " $9.99", "Labs_Images/Avg_Ultron.jpg");
var movietwo = new Movie(" The Age of Adaline", " Drama / Romance", " 6.7/10.0", " $8.99, ", "Labs_Images/Tmrr_land.jpg");
var moviethree = new Movie(" The Age of Adaline", " Drama / Romance", " 6.7/10.0", " $8.99", "Labs_Images/MM_road.jpg");
var ArrayOfMovies = new Movie ();
ArrayOfMovies.push(movieone);
ArrayOfMovies.push(movietwo);
ArrayOfMovies.push(moviethree);
var MoviesAll = Movie.push();
MoviesAll.display();
document.write("<br> <br>", "<h2>Next</h2>", "<br> <br>");
var MovieAll = ArrayOfMovies.pop();
MovieAll.display();
document.write("<br> <br>", "<h2>Next2</h2>", "<br> <br>");
var MovieAll2 = ArrayOfMovies.pop();
MovieAll2.display();
document.write("<br> <br>", "<h2>Next3</h2>", "<br> <br>");
var MovieAll3 = ArrayOfMovies.unshift('movietwo');
var MovieAll4 = ArrayOfMovies.pop();
MovieAll4.display();
document.write("<br> <br>", "<h2>Next4</h2>", "<br> <br>");
var MovieAll5 = ArrayOfMovies.push('moviethree');
var MovieAll6 = ArrayOfMovies.shift();
MovieAll6.display();
功能电影(标题、类型、评级、价格、img){
this.title=标题;
这个。流派=流派;
这个。评级=评级;
这个价格=价格;
this.image=img;
this.display=displaymovie;
}
函数displaymovie(){
文件。书写(“标题:+this.Title+”
”;
文档。书写(“类型:“+this.Genre+”
”);
记录。填写(“评级:+this.Rating+”
”;
文件。写入(“价格:+this.Price+”
”;
文件。写(“+”
”);
}
var movieone=新电影(《奥特伦时代的复仇者》,《动作/冒险》,《8.0/10.0》,《9.99美元》,《Labs_Images/Avg_Ultron.jpg》);
var movietwo=新电影(“Adaline时代”、“戏剧/浪漫”、“6.7/10.0”、“8.99美元”、“Labs_Images/Tmrr_land.jpg”);
var moviethree=新电影(“Adaline时代”、“戏剧/浪漫”、“6.7/10.0”、“8.99美元”、“Labs_Images/MM_road.jpg”);
var ArrayOfMovies=新电影();
ArrayOfMovies.push(电影一);
ArrayOfMovies.push(电影二);
ArrayOfMovies.push(第三部电影);
var MoviesAll=Movie.push();
display();
文件。写(“
”、“下一步”、“
”);
var MovieAll=ArrayOfMovies.pop();
MovieAll.display();
文档。写(“
”、“Next2”、“
”;
var MovieAll2=ArrayOfMovies.pop();
MovieAll2.display();
文件。写(“
”、“Next3”、“
”;
var MovieAll3=阵列视频.unshift('movietwo');
var MovieAll4=ArrayOfMovies.pop();
MovieAll4.display();
文件。写(“
”、“Next4”、“
”;
var MovieAll5=ArrayOfMovies.push('moviethree');
var MovieAll6=ArrayOfMovies.shift();
MovieAll6.display();
我想这正是你想要的:
功能电影(标题、类型、评级、价格、img){
this.title=标题;
这个。流派=流派;
这个。评级=评级;
这个价格=价格;
this.image=img;
}
//这是向对象原型添加方法的更好方法
Movie.prototype.display=函数(){
文件。书写(“标题:+this.Title+”
”;
文档。书写(“类型:“+this.Genre+”
”);
记录。填写(“评级:+this.Rating+”
”;
文件。写入(“价格:+this.Price+”
”;
文件。写(“+”
”);
};
var movieone=新电影(《奥特伦时代的复仇者》,《动作/冒险》,《8.0/10.0》,《9.99美元》,《Labs_Images/Avg_Ultron.jpg》);
var movietwo=新电影(“Adaline时代”、“戏剧/浪漫”、“6.7/10.0”、“8.99美元”、“Labs_Images/Tmrr_land.jpg”);
var moviethree=新电影(“Adaline时代”、“戏剧/浪漫”、“6.7/10.0”、“8.99美元”、“Labs_Images/MM_road.jpg”);
//为电影创建一个数组
var ArrayOfMovies=[];
//推一些电影
ArrayOfMovies.push(电影一);
ArrayOfMovies.push(电影二);
ArrayOfMovies.push(第三部电影);
文件。写(“
”、“下一步”、“
”);
//正确的pop()
var movie=ArrayOfMovies.pop();
movie.display();
文档。写(“
”、“Next2”、“
”;
//适当移位()
movie=ArrayOfMovies.shift();
movie.display();
文件。写(“
”、“Next3”、“
”;
//正确的push()和pop()
ArrayOfMovies.push(电影二);
movie=ArrayOfMovies.pop();
movie.display();
文件。写(“
”、“Next4”、“
”;
//正确的取消移位()和移位()
(三部电影);
movie=ArrayOfMovies.shift();
movie.display()代码>@torazaburo必须使用分号,因为分号是JavaScript编程语言的一部分。如果没有,JavaScript将自动插入分号。查看此博客:
-.
它告诉你更多的规则。在某些情况下,分号也可以省略。阅读Sam注释后,我找到了它需要的更简单的方法:
var movie = ArrayOfMovies[ArrayOfMovies.length - 3];
movie.display();
var movie = ArrayOfMovies[ArrayOfMovies.length - 2];
movie.display();
var movie = ArrayOfMovies[ArrayOfMovies.length - 1];
movie.display(); //now the pushed are all dispayled!
下面是我更正后的完整Javascript--->
功能电影(标题、类型、评级、价格、img){
this.title=标题;
这个。流派=流派;
这个。评级=评级;
这个价格=价格;
this.image=img;
}
//这是向对象原型添加方法的更好方法
Movie.prototype.display=函数(){
文件。书写(“标题:+this.Title+”
”;
文档。书写(“类型:“+this.Genre+”
”);
记录。填写(“评级:+this.Rating+”
”;
文件。写入(“价格:+this.Price+”
”;
文件。写(“+”
”);
};
var movieone=新电影(《奥特伦时代的复仇者》,《动作/冒险》,《8.0/10.0》,《9.99美元》,《Labs_Images/Avg_Ultron.jpg》);
var movietwo=新电影(“Adaline时代”、“戏剧/浪漫”、“6.7/10.0”、“8.99美元”、“Labs_Images/Tmrr_land.jpg”);
var moviethree=新电影(“Adaline时代”、“戏剧/浪漫”、“6.7/10.0”、“8.99美元”、“Labs_Images/MM_road.jpg”);
文件。写(“
”、“下一步”、“
”);
//为电影创建一个数组
var ArrayOfMovies=[];
//推一些电影
ArrayOfMovies.push(电影一);
ArrayOfMovies.push(电影二);
ArrayOfMovies.push(第三部电影);
//推送一些电影放映
var movie=ArrayOfMovies[ArrayOfMovies.length-3];
movie.display();
var movie=ArrayOfMovies[ArrayOfMovies.length-2];
movie.display();
var movie=ArrayOfMovies[ArrayOfMovies.length-1];
movie.display();
文档。写(“
”、“Next2”、“
”;
//正确的pop()
var movie=ArrayOfMovies.pop();
movie.display();
文件。写(“
”、“Next3”、“
”;
//适当移位()
movie=ArrayOfMovies.shift();
movie.display();
文件。写(“
”、“Next4”、“
”;
//正确的push()和pop()
ArrayOfMovies.push(电影二);
movie=ArrayOfMovies.pop();
movie.display();
文件。写(“
”、“Next5”、“
”;
//P
<script type="text/javascript">
function Movie(title, genre, rating, price, img) {
this.title = title;
this.genre = genre;
this.rating = rating;
this.price = price;
this.image = img;
}
// Just a better way to add methods to the objects prototype
Movie.prototype.display = function() {
document.write("<blockquote style='text-align:left; font-size:15px; font-family: Arial, sans-sherif; font-weight:600; float:left; padding-left: 20px; padding-right:40px; padding-top:40px; color:#C58917;'>Title:" + this.title + "<br>");
document.write("Genre:" + this.genre + "<br>");
document.write("Rating:" + this.rating + "<br>");
document.write("Price:" + this.price + "</blockquote><br>");
document.write("<span><IMG float:'right' SRC='" + this.image + "' style='width:138px; height:158px;'>" + "<BR><BR>");
};
var movieone = new Movie(" Avengers the age of Ultron", " Action / Adventure", " 8.0/10.0", " $9.99", "Labs_Images/Avg_Ultron.jpg");
var movietwo = new Movie(" The Age of Adaline", " Drama / Romance", " 6.7/10.0", " $8.99, ", "Labs_Images/Tmrr_land.jpg");
var moviethree = new Movie(" The Age of Adaline", " Drama / Romance", " 6.7/10.0", " $8.99", "Labs_Images/MM_road.jpg");
document.write("<br> <br>", "<h2>Next</h2>", "<br> <br>");
// Creates an array for the movies
var ArrayOfMovies = [];
// Pushes some movies
ArrayOfMovies.push(movieone);
ArrayOfMovies.push(movietwo);
ArrayOfMovies.push(moviethree);
// Pushes some movies display
var movie = ArrayOfMovies[ArrayOfMovies.length - 3];
movie.display();
var movie = ArrayOfMovies[ArrayOfMovies.length - 2];
movie.display();
var movie = ArrayOfMovies[ArrayOfMovies.length - 1];
movie.display();
document.write("<br> <br>", "<h2>Next2</h2>", "<br> <br>");
// Proper pop()
var movie = ArrayOfMovies.pop();
movie.display();
document.write("<br> <br>", "<h2>Next3</h2>", "<br> <br>");
// Proper shift()
movie = ArrayOfMovies.shift();
movie.display();
document.write("<br> <br>", "<h2>Next4</h2>", "<br> <br>");
// Proper push() and pop()
ArrayOfMovies.push(movietwo);
movie = ArrayOfMovies.pop();
movie.display();
document.write("<br> <br>", "<h2>Next5</h2>", "<br> <br>");
// Proper unshift() and shift()
ArrayOfMovies.unshift(moviethree);
movie = ArrayOfMovies.shift();
movie.display();
</script>