Чтобы передать функцию в другую функцию, оставьте ()
офф:
$.isFunction($.isFunction); // true!
Когда вы пишете ()
вы вызова функции, и используя результат возвращается. $.isFunction()
без аргументов возвращает false
(потому что undefined
не является функцией), поэтому вы говорите $.isFunction(false)
, что, естественно, также false
.
Я бы не стал использовать isFunction
только для того, чтобы проверить наличие чего-либо, если вы не подозреваете, что кому-то ему почему-то присвоили ему не функциональное значение. Для проверки чистоты использования используйте оператор in
:
if ('isFunction' in $) { ...