javascript 插件中的引用错误
Reference Error in javascript plugin
我正在创建一些基本插件,但出现引用错误。下面是我的代码
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);
}
};
有人可以解释为什么我会收到此错误以及如何克服它。因为我需要在插件的开头调用一些重置和初始化函数。
您似乎希望 abc
成为 hoisted,但您专门使用了一种语法,在执行赋值之前未定义 abc
。
您需要将 abc = function ...
移至 abc()
、 或 的调用上方,使用 function abc() { }
定义函数,这将允许它被悬挂在你的召唤之上。
请注意,如果您只是简单地移动赋值,您应该使用 var abc = function ...
并创建一个局部变量,而不是您当前正在创建的全局 abc
变量。
我正在创建一些基本插件,但出现引用错误。下面是我的代码
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);
}
};
有人可以解释为什么我会收到此错误以及如何克服它。因为我需要在插件的开头调用一些重置和初始化函数。
您似乎希望 abc
成为 hoisted,但您专门使用了一种语法,在执行赋值之前未定义 abc
。
您需要将 abc = function ...
移至 abc()
、 或 的调用上方,使用 function abc() { }
定义函数,这将允许它被悬挂在你的召唤之上。
请注意,如果您只是简单地移动赋值,您应该使用 var abc = function ...
并创建一个局部变量,而不是您当前正在创建的全局 abc
变量。