我正在创建一些基本的插件,我收到参考错误。以下是我的代码
jQuery.fn.validate = function(options) {
var _self = this;
// with below call I gets reference error.
abc();
//but if call in below it works fine
_self.on("submit", function(event) {
abc(); // works fine
}),
abc = function () {
console.log('here);
}
};
有人可以解释我为什么会收到此错误以及如何克服错误。因为我需要在插件的开头调用一些reset和init函数。
答案 0 :(得分:1)
您似乎期望abc
成为hoisted,但您在执行分配之前特意使用的语法是abc
未定义。< / p>
您需要将abc = function ...
移到abc()
,或的调用之上,使用function abc() { }
定义该函数,以便在您的调用之上提升该函数
请注意,如果您只是移动作业,则应使用var abc = function ...
并创建一个本地变量,而不是您当前正在创建的全局abc
变量。