Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript显示();不显示pop、push、unshift、shift?_Javascript - Fatal编程技术网

Javascript显示();不显示pop、push、unshift、shift?

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;

我是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;
    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>