你怎么知道为javascript函数设置哪些参数?

时间:2014-11-19 09:06:03

标签: javascript function parameters type-signature

来自Java,Javascript真的很令人沮丧。

我希望有人可以为我简单地说明这一点。

我很难理解Javascript程序员如何知道要为他们调用的方法传递哪些参数 - 特别是当该方法被称为回调时(在我看来这似乎是一个额外的级别)复杂性)。

例如,选择函数addEventListener。在此函数中,典型用法类似于

myDOMItem.addEventListener("click", function(e){...}, false);

在此功能的文档中(超链接到上面的名称)我没有看到任何提及此选项。而在Java中你可以很容易地知道你的参数是否与类型相匹配,特别是在一个好的IDE中,在Javascript中它似乎是一个巨大的猜谜游戏,或者需要对每个函数有深入的了解。

Javascript程序员如何做到这一点?

3 个答案:

答案 0 :(得分:0)

您链接到的文档确实显示了示例中的表单:

target.addEventListener(type, listener[, useCapture]);

type参数是字符串"click"listener是函数对象,useCapturefalse

答案 1 :(得分:0)

我们要么记住一些事情,要么得到一个真正得到良好支持的好IDE。每个人都有他们最喜欢的,所以我不会假设有一个“最好的”IDE。在我看来,Webstorm是最好的之一。

答案 2 :(得分:0)

在Mozilla文档中明确指出该函数有四个参数:

  • string( type
  • EventListener的函数/实现者( listener
  • 布尔值( useCapture )。
  • 布尔值( wantsUntrusted )。仅适用于Mozilla / Gecko浏览器。

从签名中可以看出,最后两个参数是可选的,因此用括号括起来:

target.addEventListener(type, listener[, useCapture, wantsUntrusted ]);

要在JavaScript中有效编码,您需要像Java一样组织开发环境。 Java世界为不同的任务(UI开发,服务器端开发等)提供了几乎无穷无尽的工具。与JavaScript相同的情况。我想避免使用IDE /编辑器的广告。因此,我建议您使用搜索为JavaScript相关的开发堆栈找到合适的工具。

P.S。个人意见。我也从Java开始使用JavaScript。根据我的经验,Java开发人员的主要问题不是缺少工具,而是缺乏严格的代码结构。由于Java提供了强大的OOP体验,因此您可能更容易在OOP术语中开始使用JavaScript。开源项目Google Closure Tools提供了类似OOP的良好开发堆栈。