JavaScript-具有对象属性的复合对象

JavaScript-具有对象属性的复合对象,javascript,object,properties,nested,Javascript,Object,Properties,Nested,我想创建一个复合对象(例如设备),它将其他对象作为属性(例如位置)。 这可以通过使用构造函数在JavaScript中实现吗 var pos = new position(23,10,15); var dev = new device(01,"mobile",pos); //device obj constructor function device(id, type, position) { this.id=id; this.type=type; this.positi

我想创建一个复合对象(例如
设备
),它将其他对象作为属性(例如
位置
)。 这可以通过使用构造函数在JavaScript中实现吗

var pos = new position(23,10,15);
var dev = new device(01,"mobile",pos);

//device obj constructor   
function device(id, type, position) {
   this.id=id;
   this.type=type;
   this.position = {position.lat, position.lon, position.alt};
}

//position obj constructor
function position(lat,lon,alt) {
   this.lat=lat;
   this.lon=lon;
   this.alt=alt;
}

我收到错误“SyntaxError:意外令牌。”

是的,这是可能的。您正在获取SyntaxError,因为您有语法错误。可以像这样嵌套对象:

device = {
    id: 43,
    type: 34,
    position: { 
       lat: 2,
       lon: 4,
       alt: 343 
       }
    };
function device(id, type, position) {
    this.id=id;
    this.type=type;
    this.position = {
        alt: position.alt,
        lon: position.lon,
        lat: position.alt
    };
}
如果要将整个对象分配给变量,函数应如下所示:

function device(id, type, position) {
    this.id=id;
    this.type=type;
    this.position = position;
}
但是,如果只想分配对象的某些变量,则应按如下方式进行:

device = {
    id: 43,
    type: 34,
    position: { 
       lat: 2,
       lon: 4,
       alt: 343 
       }
    };
function device(id, type, position) {
    this.id=id;
    this.type=type;
    this.position = {
        alt: position.alt,
        lon: position.lon,
        lat: position.alt
    };
}

是的,这是可能的。您正在获取SyntaxError,因为您有语法错误。可以像这样嵌套对象:

device = {
    id: 43,
    type: 34,
    position: { 
       lat: 2,
       lon: 4,
       alt: 343 
       }
    };
function device(id, type, position) {
    this.id=id;
    this.type=type;
    this.position = {
        alt: position.alt,
        lon: position.lon,
        lat: position.alt
    };
}
如果要将整个对象分配给变量,函数应如下所示:

function device(id, type, position) {
    this.id=id;
    this.type=type;
    this.position = position;
}
但是,如果只想分配对象的某些变量,则应按如下方式进行:

device = {
    id: 43,
    type: 34,
    position: { 
       lat: 2,
       lon: 4,
       alt: 343 
       }
    };
function device(id, type, position) {
    this.id=id;
    this.type=type;
    this.position = {
        alt: position.alt,
        lon: position.lon,
        lat: position.alt
    };
}

是的,这是可能的。您正在获取SyntaxError,因为您有语法错误。可以像这样嵌套对象:

device = {
    id: 43,
    type: 34,
    position: { 
       lat: 2,
       lon: 4,
       alt: 343 
       }
    };
function device(id, type, position) {
    this.id=id;
    this.type=type;
    this.position = {
        alt: position.alt,
        lon: position.lon,
        lat: position.alt
    };
}
如果要将整个对象分配给变量,函数应如下所示:

function device(id, type, position) {
    this.id=id;
    this.type=type;
    this.position = position;
}
但是,如果只想分配对象的某些变量,则应按如下方式进行:

device = {
    id: 43,
    type: 34,
    position: { 
       lat: 2,
       lon: 4,
       alt: 343 
       }
    };
function device(id, type, position) {
    this.id=id;
    this.type=type;
    this.position = {
        alt: position.alt,
        lon: position.lon,
        lat: position.alt
    };
}

是的,这是可能的。您正在获取SyntaxError,因为您有语法错误。可以像这样嵌套对象:

device = {
    id: 43,
    type: 34,
    position: { 
       lat: 2,
       lon: 4,
       alt: 343 
       }
    };
function device(id, type, position) {
    this.id=id;
    this.type=type;
    this.position = {
        alt: position.alt,
        lon: position.lon,
        lat: position.alt
    };
}
如果要将整个对象分配给变量,函数应如下所示:

function device(id, type, position) {
    this.id=id;
    this.type=type;
    this.position = position;
}
但是,如果只想分配对象的某些变量,则应按如下方式进行:

device = {
    id: 43,
    type: 34,
    position: { 
       lat: 2,
       lon: 4,
       alt: 343 
       }
    };
function device(id, type, position) {
    this.id=id;
    this.type=type;
    this.position = {
        alt: position.alt,
        lon: position.lon,
        lat: position.alt
    };
}
更换这条线

this.position = {position.lat, position.lon, position.alt};
用这个

this.position = position
更换这条线

this.position = {position.lat, position.lon, position.alt};
用这个

this.position = position
更换这条线

this.position = {position.lat, position.lon, position.alt};
用这个

this.position = position
更换这条线

this.position = {position.lat, position.lon, position.alt};
用这个

this.position = position


你需要使用伪经典方法吗?(换句话说,你需要使用构造函数吗?)?(换句话说,你需要使用构造函数吗?)?(换句话说,你需要使用构造函数吗?)?(换句话说,你需要使用构造器吗?)如果可能的话,我更喜欢这种方式。最后一种方法就是我正在寻找的方法。谢谢最后一种方法是我正在寻找的方法。谢谢最后一种方法是我正在寻找的方法。谢谢最后一种方法是我正在寻找的方法。谢谢别忘了
位于行的末尾。javascript是一种语言:)。它将在没有
的情况下工作
但是我确实用分号结束我的js语句,这是绝对正确的,但是最好把它放进去,以确保浏览器的JavaScript解释器不会出错位于行的末尾。javascript是一种语言:)。它将在没有
的情况下工作
但是我确实用分号结束我的js语句,这是绝对正确的,但是最好把它放进去,以确保浏览器的JavaScript解释器不会出错位于行的末尾。javascript是一种语言:)。它将在没有
的情况下工作
但是我确实用分号结束我的js语句,这是绝对正确的,但是最好把它放进去,以确保浏览器的JavaScript解释器不会出错位于行的末尾。javascript是一种语言:)。它将在没有
的情况下工作
但是我确实用分号结束了我的js语句,这是绝对正确的,但是最好把它放进去,以确保浏览器的JavaScript解释器不会出错。