2011-09-03 61 views
0

我在玩node.js時遇到了問題,無法以任何方式解決問題。在服務器端,我有一些對象,它們提供了管理它們的公共接口。但問題是,在這個界面我有功能,當返回到前端不可訪問。任何人都知道我在做什麼錯,或者爲什麼是一個功能而不是錯誤?在服務器端
樣品測試代碼:當nodeJS服務器返回時,對象的屬性不可訪問

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公司)提供;

+0

我不明白你的問題。你想要私人物業,還是你有私人物業應該公開? – Halcyon

回答

2

問題是函數不能序列化。只有屬性會序列化。

+0

我知道我一定在做錯事。謝謝 –