Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将参数添加到包含默认参数的函数中_Javascript - Fatal编程技术网

Javascript 将参数添加到包含默认参数的函数中

Javascript 将参数添加到包含默认参数的函数中,javascript,Javascript,我有一个代码如下: { headerName: "A", valueGetter: 'data.a', field: 'a', cellRenderer:ACellRenderer, width: 100, filter: 'number' } 这是: function ACellRenderer(params){ if(params.data && params.data.a){ // Do someth

我有一个代码如下:

{
    headerName: "A",
    valueGetter: 'data.a',
    field: 'a',
    cellRenderer:ACellRenderer,
    width: 100,
    filter: 'number'
}
这是:

function ACellRenderer(params){
    if(params.data && params.data.a){
        // Do something
    }
}
我不明白params参数来自哪里,因为我只调用
ACellRenderer
,没有任何参数


我还想用传递给它的参数调用
ACellRenderer
,显然这样做:
cellRenderer:ACellRenderer(myParam)
不起作用。

我很难从措辞上理解你的问题,但也许你想这样做

{
    headerName: "A",
    valueGetter: 'data.a',
    field: 'a',
    cellRenderer:function(){ACellRenderer(<put your parameter here>);},
    width: 100,
    filter: 'number'
}
{
头名:“A”,
valueGetter:'data.a',
字段:“a”,
cellRenderer:function(){ACellRenderer();},
宽度:100,
过滤器:“数字”
}
此外,为了便于将来参考,常用术语是
参数
,而不是
参数
。这并不重要,但它会帮助其他Javascript程序员更好地理解您。

这:

var Obj = {
    headerName: "A",
    valueGetter: 'data.a',
    field: 'a',
    cellRenderer:ACellRenderer,
    width: 100,
    filter: 'number'
}
只是一个对象的定义

此行:
cellRenderer:ACellRenderer
将函数存储在特定变量Basic JS中,如下所示:

var func = function(){}
现在调用它就像:

Obj['cellenderer']()

Obj.cellRenderer()


函数需要一个对象作为参数,我看不出这有多混乱。

您能提供更多代码背景吗?JS对象会发生什么情况?行
cellRenderer:ACellRenderer,
不会调用
ACellRender
函数。它只是将其存储到对象的
cellRenderer
属性中。调用JavaScript函数需要在函数名后加括号,即使它没有任何参数。e、 g
ACellRenderer()
。您甚至没有调用函数…
Obj[cellRenderer]()将不调用该函数。使用
Obj.cellRenderer()
Obj[“cellRenderer”]()代替(最好是第一个)。这个答案中的方式将尝试使用存储在全局
callRenderer
变量中的名称访问属性,该变量几乎肯定是
未定义的
或一些不相关的值。我错过了
对不起,这样调用
Obj['cellRenderer']()
有它自己的优点,就像你在一个函数中有多个函数,并且你在循环思考它。我个人不会使用括号符号,除非访问的属性可以更改,但我认为它也可能有用。它很有用,否则它就不存在了,无论如何,我会调整答案。谢谢Zohirsalakt cellRenderer接受如下函数:
函数ACellRenderer(params){…}
我不知道params来自哪里,但我在函数定义中使用它,现在我想向这个函数传递另一个参数,这样我存储在
cellRenderer
中的函数如下:
函数ACellRenderer(params,type){…}
,但我不知道如何传递第二个参数。@IchigoKurosaki就像你说的,只需使用逗号即可。