簡體   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