Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.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 为什么不能通过实例化构造函数方法将对象推入数组?_Javascript_Arrays_Object_Instantiation - Fatal编程技术网

Javascript 为什么不能通过实例化构造函数方法将对象推入数组?

Javascript 为什么不能通过实例化构造函数方法将对象推入数组?,javascript,arrays,object,instantiation,Javascript,Arrays,Object,Instantiation,使用push()方法后,我将项目arr[I].title打印到控制台中,它显示“未定义”,而不是“上帝之父1”。参见代码第12行 代码如下: <!doctype html> <html lang="en"> <head> <title> Document Object Properties </title> <meta charset="utf-8"> <script> w

使用
push()
方法后,我将项目
arr[I].title
打印到控制台中,它显示“未定义”,而不是“上帝之父1”。参见代码第12行

代码如下:

<!doctype html>
<html lang="en">
<head>
    <title> Document Object Properties </title>
    <meta charset="utf-8">
    <script>
        window.onload = init;
        function init() {
            var arr = [];
            for (var i=0; i < 3; i++) {
                arr.push(new Movie("God father " + i,1970,"Cowboy",15,["13:00","17:00","21:00"]));
                console.log("Array item: " + arr[i].title); // WHY Undefined???
                for (var j=0; j < 3; j++) {
                    //arr[i].showtimes[j] = "0" + i + ":00";
                }
            }
            var div = document.getElementById("result");
            div.innerHTML = 
                "Movie: " + arr[0].title + "<br>" +
                "Year: " + arr[0].year + "<br>" +
                "Genre: " + arr[0].genre;
        }

        function Movie(title,year,genre,rating,showtimes) {
            var title= " ";
            var year= 2000;
            var genre= " ";
            var rating= 15;
            var showtimes= [];
        }
    </script>
</head>
<body>
    <div id="result">
    </div>       
</body>
</html>

文档对象属性
window.onload=init;
函数init(){
var-arr=[];
对于(变量i=0;i<3;i++){
arr.push(新电影《上帝之父》和《牛仔》,1970年,15、[“13:00”,“17:00”,“21:00]);
console.log(“数组项:”+arr[i].title);//为什么未定义???
对于(var j=0;j<3;j++){
//arr[i].showtimes[j]=“0”+i+“:00”;
}
}
var div=document.getElementById(“结果”);
div.innerHTML=
电影:+arr[0]。标题+“
”+ 年份:“+arr[0]。年份+”
“+ “类型:”+arr[0]。类型; } 功能片(片名、年份、类型、评级、放映时间){ var title=“”; var年=2000年; var类型=”; 风险值评级=15; var showtimes=[]; }
您没有在对象构造函数中创建任何属性,只是用值覆盖参数

要获取参数并放入属性:

function Movie(title,year,genre,rating,showtimes) {
  this.title = title;
  this.year = year;
  this.genre = genre;
  this.rating = rating;
  this.showtimes = showtimes;
}

您没有在对象构造函数中创建任何属性,只是用值覆盖参数

要获取参数并放入属性:

function Movie(title,year,genre,rating,showtimes) {
  this.title = title;
  this.year = year;
  this.genre = genre;
  this.rating = rating;
  this.showtimes = showtimes;
}

您没有在对象构造函数中创建任何属性,只是用值覆盖参数

要获取参数并放入属性:

function Movie(title,year,genre,rating,showtimes) {
  this.title = title;
  this.year = year;
  this.genre = genre;
  this.rating = rating;
  this.showtimes = showtimes;
}

您没有在对象构造函数中创建任何属性,只是用值覆盖参数

要获取参数并放入属性:

function Movie(title,year,genre,rating,showtimes) {
  this.title = title;
  this.year = year;
  this.genre = genre;
  this.rating = rating;
  this.showtimes = showtimes;
}

您使用
var
Movie
中创建变量,但这不是向对象添加属性的方式。您必须将值分配给此

function Movie(title, year, genre, rating, showtimes) {
    this.title = title;
    this.year = year;
    // etc
}

您使用
var
Movie
中创建变量,但这不是向对象添加属性的方式。您必须将值分配给此

function Movie(title, year, genre, rating, showtimes) {
    this.title = title;
    this.year = year;
    // etc
}

您使用
var
Movie
中创建变量,但这不是向对象添加属性的方式。您必须将值分配给此

function Movie(title, year, genre, rating, showtimes) {
    this.title = title;
    this.year = year;
    // etc
}

您使用
var
Movie
中创建变量,但这不是向对象添加属性的方式。您必须将值分配给此

function Movie(title, year, genre, rating, showtimes) {
    this.title = title;
    this.year = year;
    // etc
}

您需要在
电影
对象中使用属性,而不是局部变量。您需要在
电影
对象中使用属性,而不是局部变量。您需要在
电影
对象中使用属性,而不是局部变量。