Javascript -对象中的未定义对象

Javascript - Undefined object in an object

本文关键字:对象 未定义 Javascript      更新时间:2023-09-26

我知道有很多类似的问题,我已经看了不少,但还没有找到我的答案。

我已经创建了一个自定义对象destination:
function destination() {
    var city = "";
    var flightNumber = "";
    var type = "";
}

然后我创建了第二个自定义对象,该对象的一个属性类型为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;

其中aPlanesplane()对象的数组,我在浏览器控制台上得到未定义的错误消息:

Uncaught TypeError: Cannot read property 'city' of undefined

有谁能指出我错在哪里吗?快把我逼疯了!

您的类定义错误。你需要this,而不是局部变量与var声明。

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

顺便说一句,我建议使用首字母大写的类声明标准