环顾四周this似乎是最接近我的问题的答案。然而它会导致其他问题......
<小时/>这是我的情况:
$element.insertBefore($container);
此行有一个警告,指出 insertBefore
具有“参数数量无效,预计为 2”
/** @type {function(target)} */
$element.insertBefore;
$element.insertBefore($container);
这三行有一个警告,但原因不同。第三行不再有任何关于无效参数数量的警告;然而,第二行现在关注的是“表达式语句不是赋值或调用”。
我尝试了许多其他配置,但是它们似乎都不会以任何方式影响第一个警告......但它们不会创建新的警告。 其中一些变化如下:
/** @type {function(target)} */
/* $element.insertBefore; */
$element.insertBefore($container);
—
/** @type {function(target)}
$element.insertBefore; */
$element.insertBefore($container);
—
/** @type {function(target)} */
$element.insertBefore($container);
我只是想知道是否有人可以指出我做错了什么,或者这个警告是否只是系统现在的一个不可逆转的错误。
附注这实际上是 JavaScript 代码……我只是习惯在作为 jQuery 对象实例的变量前面加上美元符号。这意味着上面对 insertBefore
的调用是对 jQuery 函数的调用,而不是普通 JavaScript 函数。
最佳答案
看起来insertBefore()确实需要2个参数:https://www.w3schools.com/jsref/met_node_insertbefore.asp
关于javascript - 当 PhpStorm 猜测 JavaScript 函数的参数错误时,如何纠正?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44855402/