javascript插件中的引用错误

时间:2018-03-29 19:59:18

标签: javascript jquery jquery-plugins

我正在创建一些基本的插件,我收到参考错误。以下是我的代码

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函数。

1 个答案:

答案 0 :(得分:1)

您似乎期望abc成为hoisted,但您在执行分配之前特意使用的语法是abc未定义。< / p>

您需要将abc = function ...移到abc()的调用之上,使用function abc() { }定义该函数,以便在您的调用之上提升该函数

请注意,如果您只是移动作业,则应使用var abc = function ...并创建一个本地变量,而不是您当前正在创建的全局abc变量。