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

オブジェクトにアクセスしようとしている場所は明確ではありませんが、varsavedRoundsvar savedRounds = [];はローカルにスコープされ、roundListメソッド内でのみアクセスできることを意味します。

roundList メソッドの外部で savedRounds にアクセスする場合は、メソッドsavedRounds = [];の外部で宣言するroundListか、メソッドから返して、他の何かがアクセスできるようにします。

于 2013-09-04T15:25:12.630 に答える