Могу ли я сказать IntelliJ (10.5) не предупреждать о том, что нельзя передавать необязательный аргумент метода javascript? - PullRequest
13 голосов
/ 27 февраля 2012
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 ]

25 голосов
/ 07 августа 2012

Используя комментарии в стиле JavaDoc для JavaScript, вы можете объявить параметр необязательным, заключив его в квадратные скобки []:

/**
 * My function
 * @param [optionalParam] An optional parameter
 */
myFunction: function(optionalParam) {
    //...
},
7 голосов
/ 02 мая 2012

«JavaScript> Общее> Проблема несоответствия подписи» - это параметр проверки, который отключит для вас предупреждение о неверном количестве параметров.К сожалению, это влияет не только на количество параметров.Согласно описанию внутри IntelliJ IDEA, он «проверяет параметры функций, вызванные в JavaScript, возвращаемые значения, назначенные выражения правильного типа. Проверка работает в файлах JavaScript, html или jsp.»

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

2 голосов
/ 08 мая 2014

Согласно 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);
}

Оба способа работали для меня.

1 голос
/ 27 февраля 2012

Вы можете изменить настройки с помощью проверок * опция 1003 * для JS:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...