помощники находятся внутри плагина, который является анонимной функцией, и вы не можете получить доступ к переменным, объявленным внутри него.
Если вы хотите проверить это, отбросьте ключевое слово var
перед функциями.Это объявит функции как глобальные (прикрепит их к объекту окна), предоставляя им возможность быть видимым из области окна (вызывая someHelperFunction
или window.someHelperFunction
).
, для тестирования:
(function($) {
someHelperFunction = function(s, d) {
return s*d;
}
someOtherHelperFunction = function(s) {
return s*2;
}
// here goes the normal plugin code
})(jQuery);
после окончания тестирования, добавьте ключевое слово var
еще раз.
Обновление
Я думаю, что лучше было бы сгруппировать ваши тестируемые функциив объекте - и построить API.Затем, по тому же принципу, вы можете сделать этот API видимым в глобальной области видимости или нет:
(function($, global) {
someHelperFunction = function(s, d) {
return s*d;
}
someOtherHelperFunction = function(s) {
return s*2;
}
var api = {
someHelperFunction: someHelperFunction,
someOtherHelperFunction: someOtherHelperFunction
};
// decide whether you want to expose your api or not
if(makeGlobal) {
global.api = api;
}
})(jQuery, this);