2016-10-16 19 views
1

これに似た質問がたくさんあることを知っていますが、私はかなり見てきましたが、私の答えを見つけられませんでした。Javascript - オブジェクト内の未定義オブジェクト

私はカスタムオブジェクトを作成しているがdestinationと呼ばれる:

function destination() { 
    var city = ""; 
    var flightNumber = ""; 
    var type = ""; 
} 

私は2番目のカスタムオブジェクトを作成し、そのオブジェクトのプロパティのうちの1つがタイプdestinationは次のとおりです。ただし

function plane() { 
    var flightNumber = ""; 
    var otherCity = new destination(); 
    var status = ""; 
    var taxiRoute = []; 
    var airRoute = ""; 
    var heading = 0; 
    var speed = 0; 
    var left = 0; 
    var top = 0; 
    var height = 0; 
    var width = 0; 
    var dx = 0; 
    var dy = 0; 
} 

私がタイプdestinationのいずれかのプロパティにアクセスしようとすると、

aPlanes[0].otherCity.city; 
plane()オブジェクトの配列である、私はブラウザコンソールで未定義のエラーメッセージを取得

Uncaught TypeError: Cannot read property 'city' of undefined

は私が間違って行くよどこ指摘することができ、誰ですか?それは私を怒らせている!

ありがとうございます。

答えて

3

class definitionが間違っています。 thisが必要で、var宣言にローカル変数は必要ありません。

function Destination() { 
    this.city = ""; 
    this.flightNumber = ""; 
    this.type = ""; 
} 

私は、クラス宣言の標準を大文字の最初の文字で使用することをお勧めします。

+0

そんなに簡単な答えをありがとうございました。 –

関連する問題