function foo(a, opt_b) {
opt_b = opt_b || 1;
...
}
foo(1); // IntelliJ will yell at me, saying "Invalid number of parameters, expected 2"
有没有办法记录foo()
,以便IntelliJ不会对我大喊大叫?
答案 0 :(得分:25)
对JavaScript使用JavaDoc样式的注释,可以将参数声明为可选参数,并在其周围加上方括号:
/**
* My function
* @param [optionalParam] An optional parameter
*/
myFunction: function(optionalParam) {
//...
},
答案 1 :(得分:7)
“JavaScript>常规>签名不匹配问题”是检查设置,它会为您禁用错误的参数编号警告。不幸的是,它影响的不仅仅是参数计数。根据IntelliJ IDEA中的描述,它“检查JavaScript称为函数参数,返回值,指定的表达式是正确的类型。验证适用于JavaScript,html或jsp文件。”
答案 2 :(得分:2)
根据http://usejsdoc.org/tags-param.html,有两种方法可以使用注释将参数声明为可选:
/**
* @param {string} [somebody] - Somebody's name.
*/
function sayHello(somebody) {
if (!somebody) {
somebody = 'John Doe';
}
alert('Hello ' + somebody);
}
和
/**
* @param {string=} somebody - Somebody's name.
*/
function sayHello(somebody) {
if (!somebody) {
somebody = 'John Doe';
}
alert('Hello ' + somebody);
}
这两种方式对我有用。
答案 3 :(得分:1)
您可以通过JS的 检查 选项更改设置: