我可以告诉IntelliJ(10.5)不要警告没有传递可选的javascript方法参数吗?

时间:2012-02-27 12:21:10

标签: javascript intellij-idea code-analysis

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不会对我大喊大叫?

4 个答案:

答案 0 :(得分:25)

对JavaScript使用JavaDoc样式的注释,可以将参数声明为可选参数,并在其周围加上方括号:

/**
 * My function
 * @param [optionalParam] An optional parameter
 */
myFunction: function(optionalParam) {
    //...
},

答案 1 :(得分:7)

“JavaScript>常规>签名不匹配问题”是检查设置,它会为您禁用错误的参数编号警告。不幸的是,它影响的不仅仅是参数计数。根据IntelliJ IDEA中的描述,它“检查JavaScript称为函数参数,返回值,指定的表达式是正确的类型。验证适用于JavaScript,html或jsp文件。”

Turn off JavaScript parameter count warnings (and all type warnings as well)

答案 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的 检查 选项更改设置:

enter image description here