jQuery插件函数范围

时间:2012-02-03 17:19:53

标签: jquery function plugins scope

我遵循这些指南来开发jQuery插件:http://docs.jquery.com/Plugins/Authoring

关于命名空间和方法的部分是我想知道的。我有6个这样定义的方法,其中三个使用我自己编写的辅助函数。这是完全相同的功能,但出于某种原因,我必须在我的插件的每个方法中重写它。这是正常的,还是我可以把它放在某个地方并让它可以从我的所有功能中访问?所以借用上面引用的文章:

var methods = {
  init : function( options ) { 
    var etc = "etc."
  },
  show : function( ) {
    ...
    doStuff();
    function doStuff() {
        // well, do stuff
    }
    ...
  },
  hide : function( ) { 
    ...
    doStuff();
    function doStuff() {
       // well do the same stuff!
    }
  },
  update : function( content ) { 
    // etc.
  }
};

看看我如何重新定义函数doStuff()?我不喜欢那个!有什么想法吗?

谢谢!

编辑:使用“辅助函数”我的意思是一个函数,在OO我会声明私有。

再次编辑:不要担心私有部分,看到最明显的解决方案(把它放在方法部分)不起作用。

0 个答案:

没有答案