JavaScript如何从作为参数传递的对象访问变量?

JavaScript如何从作为参数传递的对象访问变量?,javascript,node.js,Javascript,Node.js,我有一个很简单的问题,但我想不出来。我将发布一些由于某些原因无法工作的代码片段: //authentication_handler.js var new_user = server.authenticated_users.add_user(new User(world)); //user.js function User(world) { personBody = createPlayerBody(100, 100, 8, 8, false, true, world); exports.The

我有一个很简单的问题,但我想不出来。我将发布一些由于某些原因无法工作的代码片段:

//authentication_handler.js
var new_user = server.authenticated_users.add_user(new User(world));

//user.js
function User(world) {
personBody = createPlayerBody(100, 100, 8, 8, false, true, world);
exports.TheBody = personBody;
}

//player_data_handler.js
module.exports = function(server, client) {
var theUser = server.authenticated_users.find_user(client.uuid);
if (theUser != null) {
    var playerData = JSON.stringify({
        x: theUser.TheBody.position.x, //this line throws the error below
        y: theUser.TheBody.position.y
    });
    server.authenticated_users.each_other(theUser, function(user) {
        server.send_id_message(user.client, 5, playerData);
    });
}
};
我得到的错误是:

无法读取未定义的属性“位置”


我对JavaScript还是相当陌生,我不知道为什么“personBody”变量没有一直传递到“player\u data\u handler.js”。我尝试了更多的方法,但没有一种有效。非常感谢您的帮助

导出
用于导出模块的部分。如果要向对象添加内容,请使用


而不是导出
exports.TheBody=personBody尝试
this.TheBody=personBody

导出
不是
用户
的实例,OP试图将该实例赋予属性
主体
。很抱歉,我没有;我看不出
new User()
module.exports的关系。你能详细说明一下吗?当然,设置
这个。带有值的body
将导致
new USer()
的任何实例都有一个名为TheBody的公共属性,但是module.export出现在故事中的什么地方?