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
}
您需要在
电影
对象中使用属性,而不是局部变量。您需要在电影
对象中使用属性,而不是局部变量。您需要在电影
对象中使用属性,而不是局部变量。