在javascript中的对象中创建函数

在javascript中的对象中创建函数,javascript,function,methods,jqgrid,javascript-objects,Javascript,Function,Methods,Jqgrid,Javascript Objects,我有一个程序,我想创建一个对象,然后在其中创建一个函数。可能吗?就像这样var x=function(){….}我想重新使用变量x 代码如下: $("#tbl").jqGrid({ url: '', datatype: 'local', jsonReader : { root: function(obj) { //some codes here

我有一个程序,我想创建一个对象,然后在其中创建一个函数。可能吗?就像这样
var x=function(){….}
我想重新使用变量x

代码如下:

$("#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,并为它们创建一个对象函数。我的目标是从上述代码中的函数创建一个对象。这里有人知道怎么做吗


顺便问一下,方法和函数有什么区别。?事件是否可以作为函数编码?谢谢大家。

这本书过去对我很有帮助=)

希望能有帮助


我不明白——你发布的代码会很好用,你在问什么?基本上和你之前的问题不一样吗@菲利克斯·克林。我发现很难创建一个单独的.js文件,这就是为什么我在寻找一些选项。也许这可以在单独的文件中给我答案。谢谢@cwolves..是的,它很有效。。。我只是想知道如何分离代码(它的事件)并将其作为一个函数。然后,也许我可以通过变量调用它们,我看到您使用了
数据类型:“local”
,以防对服务器的请求无法完成。因此,
serializeGridData
方法永远不会被调用。如何在网格中填充数据?您定义了
jsonReader
。因此,您可能会使用
addJSONData
手动插入数据。在大多数情况下,这不是一种好方法。你能插入更多完整的JavaScript代码,这样人们就可以更好地理解你的代码吗?嗨,我应该在哪里为序列化的GridData编写代码?这是为什么?我观察到当我复制粘贴函数jqFunctions(){this.serializeGridData=function(postData){…}中serializeGridData的代码时,它不工作了…而且,我不明白新的jqFunctions()的目的是什么。serializeGridData(“hello”);因为如果您将此代码放在单独的.js文件之间或其中,它就会工作。jqFunctions是“class”。new jqFunctions()创建一个对象。“hello”是我传递给serializeGridData的参数。它被分配给函数(postData)中的“postData”。在函数内部,当您调用alert(postData)时,它会发出警报(“hello”)
function jqFunctions() {
    this.serializeGridData = function(postData) {
        alert(postData);
    }
}

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