我覺得你最好的(和最清晰的)選擇是給函數的名稱,例如
/**
* @type {Number[]}
*/
var array = [ 1, 2, 3 ];
/**
* @param {Number} curVal
*/
var fn = function (curVal) {
// operate on curVal
};
array.forEach(fn);
我想你應該(也許是必須)指定數組類型,因爲在我的例子,不是不只是{Array}
,我不知道你的arrays.every
的意思,但我假設你的意思是使用來自Array對象的.forEach
。
[編輯]
好了,現在我明白了,也許這樣的事情是你想要什麼:
/**
* @param {Array} curVal
*/
var fn = function (curVal) {
curVal. // press Ctrl-Space here, and autocompletion will work
};
但是,如果你真的想用jsdoc與匿名函數,東西這樣就可以了(並且是最接近的代碼在你的問題):
var arrayOfArrays = [[1,2,3], [2,3,4]]
arrayOfArrays.every(/** @param {Array} curVal */function (curVal) {
curVal. // press Ctrl-Space here, and autocompletion will work
});
(我使用JetBrains公司的IntelliJ,不是他們PhpStorm IDE,但他們共享相同的Javascript集成)
這真是太棒了,我嘗試了所有的命題,並且我第一次和第二次完美地工作。我需要仔細檢查,因爲PhpStorm似乎有某種緩存,而當我刪除第一個類型註釋時,IDE記得它是Array。然後我將其更改爲Object,然後再次將第二個選項更改爲Array。謝謝! – Marecky