Javascript 传递参数约定ExtJS4.2应该是一个对象吗?

Javascript 传递参数约定ExtJS4.2应该是一个对象吗?,javascript,extjs,extjs4.2,Javascript,Extjs,Extjs4.2,有时,我们需要在ExtJs中监听一些事件来做一些事情。但是如果我们只需要参数列表中的一个参数 有一些可能性: 案例1:设置函数中的所有参数,以获取“e”参数 view.on('cellclick', function( table, td, cellIndex, record, tr, rowIndex, e, eOpts ){ me.doSomething( e ); }) 案例2:将“参数”与所需的索引一起使用 view.on('cellclick', func

有时,我们需要在ExtJs中监听一些事件来做一些事情。但是如果我们只需要参数列表中的一个参数

有一些可能性:

案例1:设置函数中的所有参数,以获取“e”参数

view.on('cellclick', function( table, td, cellIndex, record, tr, rowIndex, e, eOpts  ){
        me.doSomething( e );
    })
案例2:将“参数”与所需的索引一起使用

 view.on('cellclick', function( ){
        me.doSomething( arguments[6] );
    })
案例1有未使用的参数,案例2看起来像“硬代码”。当我们在ExtJs中侦听事件但只使用几个参数时,是否存在任何其他选项可供选择

我认为参数应该作为对象传递,但我在ExtJS上看不到这一点

view.on('cellclick', function( options ){
        me.doSomething( options.e );
    })

就我个人而言,我会选择案例1。您现在可能只需要
e
,但这种方法有助于记录传递给函数的其他内容。在将来,您可能会决定需要一些额外的参数,这样会更容易看到可用的参数,而不是打开API文档、查找控件、查找事件……同意,我使用的是案例1,当我需要特定的事件时,我会在文档上搜索,并使整个功能正常工作,但是关于对象表示法呢?这应该是一个很好的选择,可以获得快速的参数,而不是定义所有的参数。。。当然,案例1很好,但它有它的取舍。。。如果cellIndex消失或被重命名怎么办?使用对象表示法是很方便的,因为它清理了很长的参数列表,但仍然需要维护处理要使用的参数的文档或逻辑。