Javascript 了解JQuery插件函数的可用性

Javascript 了解JQuery插件函数的可用性,javascript,jquery,plugins,jquery-plugins,Javascript,Jquery,Plugins,Jquery Plugins,我正在写一个JQuery插件,到目前为止一切都很好…虽然我有一个问题,我似乎也找不到答案 首先,假设这是插件框架 (function ($) { var outterFunction = function () {}; $.fn.cssLive = function (getTargets, getStyles) { /// Some Stuff var innerFunction = function () {}; } }(jQu

我正在写一个JQuery插件,到目前为止一切都很好…虽然我有一个问题,我似乎也找不到答案

首先,假设这是插件框架

(function ($) {

 var outterFunction = function () {};

     $.fn.cssLive = function (getTargets, getStyles) {
         /// Some Stuff
         var innerFunction = function () {};
     }

}(jQuery));
我的问题如下

  • innerFunction
    outterFunction
    是否在全球范围内可用
  • 如果我不需要它在全球范围内可用,是否应该在
    $.fn.cssLive
    中声明
    outterFunction
  • 最后,如果
    outterFunction
    需要开发人员使用我的插件设置一个变量,我是否会扩展
    $.fn.cssLive
    ?如果是,怎么做
  • 到目前为止,我的插件相当大,似乎我所有的函数都在
    outterFunction
    的范围内,结果我只使用
    $.fn.cssLive
    来获取两个参数。这是标准还是大多数插件都有主插件功能中的所有功能

    我会在这里回答任何问题,或者在需要的时候来回走动

    提前谢谢你

    1)否 2) 这取决于它的功能,但可能需要引入更严格的范围
    3) 不,它不会扩展它,但我不确定这是否是您所要求的。Ans:不,不会,因为它们是在本地作用域3中声明的。你能解释一下扩展$.fn.cssLive是什么意思吗?@ArunPJohny我的意思是使用
    var opts=$.extend({},$.fn.cssLive.fontOptions,options)
    在这种情况下,您需要将opts对象或所需属性作为参数传递给
    outterFunction
    @ArunPJohny。您能详细说明您的评论吗?好的,关于问题3,除了使用
    myObj={key:“value”}之外,还有什么优雅的方式让用户声明我的插件所需的对象吗
    创建javascript对象的方法有很多种,我不会说一种方法比另一种更优雅。EC5方法可能更直观,但通常归结为偏好。以下是我用于5的参考: