节点JS服务器返回时无法访问对象的属性

时间:2011-09-03 13:54:12

标签: javascript function object node.js

我正在玩node.js而我遇到了一个问题,我无法以任何方式解决。在服务器端,我有一些对象,它们提供了用于管理它们的公共接口。但问题是在这个接口中我有函数,返回前端时无法访问。任何人都知道我做错了什么或为什么这是一个功能,而不是一个错误? 服务器端的示例测试代码:

socket.on('F-test', function(){
    var o1 = {
        A: 5
    };

    var o2 = function(){
        this.A = function(){
            return 5;
        }
    };

    var o3 = function(){
        var A = function(){
            return 5;
        }

        return {
            'A': A
        }
    };

    var o4 = function(){
        var that = this;
        that.A = function(){
            return 5;
        }

        return that;
    };

    var o5 = {
        A: function(){
            return 5;
        }
    };

    socket.emit('B-test', {o1: o1, o2: new o2(), o3: new o3(), o4: new o4(), o5: o5});
});

在控制台中我得到了:

enter image description here

主持由no.de(Joyent)提供;

1 个答案:

答案 0 :(得分:2)

问题是函数没有序列化。只有属性才会序列化。