3

我正在尝试将动态创建的对象传递到 JavaScript 中的数组中。对象通过了,但是当我尝试检索对象内部的数据时,它就消失了。控制台记录round[object, object]。我怎样才能使这项工作?

这是我的代码:

function roundList(myRounds){

var savedRounds = [];
savedRounds.push(myRounds);
console.log("this is savedRounds " + savedRounds);
};

function round(course,tee,slope,rating,score){
this.course=course;
this.tee=tee;
this.slope=slope; 
this.rating=rating;         
this.score=score;   
}

function makeRound(){
var newCourse = document.getElementById('course').value
var newTee = document.getElementById('tee').value
var newSlope = document.getElementById('slope').value
var newRating = document.getElementById('rating').value
var newScore = document.getElementById('score').value
var newDate = document.getElementById('date').value
var newRound = new round(newCourse,newTee,newSlope,newRating,newScore);
    roundList(newRound);
}
4

2 回答 2

2

目前尚不清楚您在哪里尝试访问该对象,但varinvar savedRounds = [];意味着 savedRounds 仅在本地范围内,并且只能在roundList方法内部访问。

如果您想在 roundList 方法之外访问 savedRounds,则savedRounds = [];在方法之外声明roundList或从方法中返回它,以便其他东西可以访问它。

于 2013-09-04T15:25:12.630 回答
1

console.log(JSON.stringify(savedRounds))改为使用

这将向您显示对象的全部内容。

正如其他人指出的那样,您现在也没有持久化对象,并且在函数完成后将无法访问它。

于 2013-09-04T15:25:46.090 回答