簡體   English   中英

jQuery fn.extend()返回對象中的值和調用值

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

我需要一些幫助來理解某些東西,這對於認真的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(xo[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/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM