Javascript 在函数调用中使用()时出错

Javascript 在函数调用中使用()时出错,javascript,Javascript,我正在试验nicEdit,一个WYSIWYG编辑器() 它的使用非常简单。只需在代码中添加以下两行 <script src="http://js.nicedit.com/nicEdit-latest.js" type="text/javascript"></script> <script type="text/javascript">bkLib.onDomLoaded(nicEditors.allTextAreas);</script> 似乎我可

我正在试验
nicEdit
,一个
WYSIWYG
编辑器()

它的使用非常简单。只需在代码中添加以下两行

<script src="http://js.nicedit.com/nicEdit-latest.js" type="text/javascript"></script>
<script type="text/javascript">bkLib.onDomLoaded(nicEditors.allTextAreas);</script>
似乎我可以将配置选项传递给编辑器-

我想通过向
allTextAreas
传递配置对象来调用它。但是当我通过添加
({someProperty:someValue})
调用
alltextarea
时,控制台中会出现错误

nicEdit-latest.js:8 Uncaught TypeError: bkLib.domLoad[i] is not a function
    at HTMLDocument.domLoaded (nicEdit-latest.js:8)
domLoaded @ nicEdit-latest.js:8

为什么使用
()
会产生错误?

看起来它需要一个函数,请尝试包装它:

bkLib.ondomload(()=>nicEditors.allTextAreas({someProperty:someValue}))

说明
bkLib.ondomload
接受回调函数

  • nicEditors.allTextAreas
    之所以有效,是因为它是一个函数,但在调用它时,您将无法传递自定义参数

  • ()=>nicEditors.alltextaries({someProperty:someValue})
    之所以有效,是因为它将
    nicEditors.alltextaries
    包装到另一个函数中,当调用它时,
    {someProperty:someValue}
    被传递到其中

  • nicEditors.allTextAreas({someProperty:someValue})
    不起作用,因为它立即调用该函数,解析它返回的内容并将其传递到
    bkLib.onDomLoaded
    。我想这不是你想要的


谢谢。它确实奏效了。你能解释一下为什么会这样吗?调用
allTextAreas
传递函数,但
allTextAreas()
传递函数执行的结果,因此代码不起作用吗?@ManuChadha我更新了答案并试图解释。请原谅我的英语:p
nicEdit-latest.js:8 Uncaught TypeError: bkLib.domLoad[i] is not a function
    at HTMLDocument.domLoaded (nicEdit-latest.js:8)
domLoaded @ nicEdit-latest.js:8