2011-03-22 72 views
0

我有一個程序,我想創建一個對象,然後在其中的一個功能。可能嗎?是這樣的var x = function() {....},我想重新使用變量x ..在javascript中創建對象的功能

下面的代碼:

$("#tbl").jqGrid({ 
    url: '',        
    datatype: 'local',  
    jsonReader : {    
     root: function(obj) { 
     //some codes here 

      return root; 
     },   
     page: "page",     
     total: "pageCount",  
     records: "rows",  
     repeatitems:false, 
     id: "0" 
    }, 

    serializeGridData: function(postData) { 
     var jsonParams = { 
      . 
      .//some codes here 
      . 

      'sort_fields': postData.sidx 
     }; 

     if (postData.sord == 'desc') 
     { 
     ..//some codes 
     }   
     else 
     { 
     ...//some codes 
     } 

     jpar = jsonParams; 
     return 'json=' + jsonParams; 
    }, 

    loadError: function(xhr, msg, e) { 
     showMessage('msg error'); 
    }, 
    colNames:['ID',...'Type'],  
    colModel:[ 
    ...//col model 
    ], 

    rowNum:5,   
    . 
    . 
    .//some codes here 
    loadonce:false,   
    caption: "Main Account Group" 
}); 

我想要得到的jsonReader,serializedGridData和loadError併爲它們創建的對象的功能。我的目標是從上述代碼的函數中創建一個對象。這裏有人知道該怎麼做嗎?順便說一下,方法和函數之間有什麼區別???????????????????????????????可以事件可以作爲函數的代碼?謝謝你們。

+0

我不跟隨 - 你發佈的代碼將正常工作,你是什麼問? – 2011-03-22 07:25:45

+0

基本上和你以前的問題不一樣嗎? http://stackoverflow.com/questions/5374977/is-it-possible-to-include-an-event-in-a-javascript-function – 2011-03-22 07:28:13

+0

@felix kling。我發現很難創建一個單獨的.js文件,這就是爲什麼我正在尋找一些選項。也許這可以給我如何在單獨的文件中做的答案。謝謝 – jayAnn 2011-03-22 08:28:51

回答

1

這一個已經真的對我很有幫助,在過去=)

希望它可以幫助 http://www.phpied.com/3-ways-to-define-a-javascript-class/

function jqFunctions() { 
    this.serializeGridData = function(postData) { 
     alert(postData); 
    } 
} 

new jqFunctions().serializeGridData("hello"); 
+0

嗨,我在哪裏編寫serializeGridData的代碼?那你好嗎? – jayAnn 2011-03-22 08:37:40

+0

我注意到,當我複製粘貼在函數jqFunctions(){serializeGridData代碼this.serializeGridData = function(postData){...}它代碼不工作...而且,我也沒有得到目的是什麼新的jqFunctions()。serializeGridData(「你好」);對於 – jayAnn 2011-03-22 09:15:48

+1

,如果您將此代碼置於之間或放在單獨的.js文件中,則可以工作。 jqFunctions是「class」。新的jqFunctions()創建一個對象。 「你好」是我傳遞給serializeGridData的參數。它被分配到函數(postData)中的「postData」。在函數內部,當你調用alert(postData)時,它會提醒(「hello」) – Abdo 2011-03-22 10:08:47