Jquery fn.extend()返回和调用对象中的值

jquery fn.extend() returning values and call values in object

本文关键字:对象 调用 返回 fn extend Jquery      更新时间:2023-09-26

我需要一些帮助来理解一些东西,这对于严肃的jquery和javascript程序员来说可能很容易。

假设我有这样一个代码:

jQuery.fn.extend({
   myNameSpace: {
     myPlugIn: function (o) { 
       var o = { variable : o.variable || false };
      var myfunction = function(v) {
      o.variable = v;
      };
      return {
         myfunction : myfunction
      };
    }
});

现在我可以调用它了:

x = new $.myNameSpace.myPlugIn({variable : 99}) ;

然后像这样调用函数myfunction

x.myfunction(20);

我可以理解,现在的问题是:我怎样才能得到变量的值在我的插件。

我试过alert(x.o[variable]);等,但我就是不能得到它-它一定很容易…

我尝试完成的是一个值,当插件内部的东西完成或计算时,我可以调用。

当前代码中无法获取变量,除非将其更改为:

var myfunction = function(v) {
    o.variable = v;
    return v;  //or o.variable
};
//...
x.myfunction(20)  //20;

添加

它似乎是你试图使一个插件的jQuery。要创建插件,您不需要使用$.extend$.extend仅用于预置默认设置。[1]通常是这样设置插件的:

(function($) {
    var methods = {
        getVar: function(){ 
            return $.extend({
                data: data,
            }, methods);
        },
        setVar: function(d){ 
            data = d;
            return methods;
        }
    },
    data = {};
    $.fn.myPlugin = function(options) {
        //do stuff
        data = $.extend( data , options );
        return methods;
    };
})(jQuery);
http://jsfiddle.net/DerekL/wv5QH/1/