2013-09-05 2 views
1

Можно проверить, ожидают ли функции/нужны какие-либо данные?Проверить, ожидают ли функции какие-либо данные

function one(){ 

} 
function two(ineedvar){ 

} 

Поэтому у меня есть функции, и я хотел бы проверить, какие из них нужны var между().

+0

Нет, вы не можете сделать это * надежно *. Но желание сделать это * обычно * является признаком ошибочного дизайна. Для чего тебе это? –

+0

См. Http://stackoverflow.com/a/9924463/1873485 – TheSharpieOne

+2

Не забывайте - функция не должна определять какие-либо параметры для их принятия - она ​​может получить доступ к объекту 'arguments' – Ian

ответ

6

Свойство функции .length можно использовать, чтобы узнать, не принимает ли он никаких аргументов.

two.length т.е.

Fiddle

Reference

Но обратите внимание, что функция может также принимать arguments без его определить его в объявлении функции, поэтому не может полагаться на это всегда.

+3

whoa, я не знал это! – Mathletics

2

Используйте length свойство Function объекта:

one.length /* 0 */ 
two.length /* 1 */ 
Смежные вопросы