Отладка параметров метода javascript - PullRequest
0 голосов
/ 20 сентября 2011

Я пытаюсь просто определить, какой текущий метод имеет какие параметры, поэтому я вызываю аргументы в инструментах разработчика Chrome, пока я приостанавливаю выполнение этого метода. Но аргументы возвращают [] пустой массив. Но если я попытаюсь поместить некоторые параметры внутри функции, чтобы на этот раз аргументы и параметры были заполнены. В этом нет ничего плохого?

Пример:

function(){
  console.log(arguments);//value is []
}

function(a,b,c){
  console.log(arguments);//value is not not empty array. It contains few parameters.
}

Я не понимаю, как это может быть?

Редактировать:

Теперь я проверяю это, и оно работает, но позвольте мне сказать вам, когда оно не работает.

Я просто использую отладчик, затем открываю консоль, пишу аргументы и вхожу. Результат [], но если я использую аргументы в функции и вижу, что она заполнена правильно. Так зачем ссылаться на аргументы в консольном продукте [] result?

1 Ответ

4 голосов
/ 20 сентября 2011

Извините, если это не ответит на ваш вопрос ... немного сложно понять, каков ваш настоящий вопрос ...

Если вы пытаетесь найти, сколько аргументов функция ожидает , тогда вы можете использовать .length:

f0 = function () { };
f1 = function (a) { };
f2 = function (a, b) { };

f0.length; // 0
f1.length; // 1
f2.length; // 2

Источник: http://es5.github.com/#x15.3.5.1


Если вы пытаетесь выяснить, сколько аргументов получила функция , вы можете использовать arguments.length. Обратите внимание, что это не имеет никакого отношения к числу ожидаемых аргументов.

f = function () {
    return arguments.length;
};

f();     // 0
f(1);    // 1
f(1, 1); // 2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...