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