繁体   English   中英

您如何知道要为javascript函数设置的参数?

[英]How do you know which parameters to set for a javascript function?

来自Java的Javascript确实令人沮丧。

我希望有人可以对我说简单的话。

我正在努力了解Javascript程序员如何知道要为他们正在调用的方法传递哪些参数-尤其是当该方法被称为回调时(在我看来,这似乎增加了复杂性)。

例如 ,使用addEventListener函数。 在此功能中,典型用法如下:

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

在此功能的文档中(与上面的名称超链接),我看不到该选项的任何内容。 在Java中,您可以轻松地知道您的参数是否与类型匹配,尤其是在具有良好IDE的情况下;而在Javascript中,这似乎是一个巨大的猜测游戏,或者需要对每个函数有深入的了解。

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

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

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

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

我们要么记住事情,要么获得实际上得到了良好支持的良好IDE。 每个人都有自己的最爱,因此我不会假定有一个“最佳” IDE。 以我的拙见,Webstorm是最好的之一。

Mozilla文档中明确声明该函数采用四个参数:

  • 字符串( 类型
  • EventListener的函数/实现( 监听器
  • 布尔值( useCapture )。
  • 布尔值( wantUntrusted )。 仅适用于Mozilla / Gecko浏览器。

从签名中可以看到,最后两个参数是可选的,因此放在方括号中:

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

为了有效地用JavaScript编码,您需要像Java一样组织开发环境。 Java世界为各种任务(UI开发,服务器端开发等)提供了几乎无限数量的工具。 JavaScript也是如此。 我想避免针对IDE /编辑器的广告。 因此,我建议您使用搜索为与JavaScript相关的开发堆栈找到正确的工具。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM