jQuery可重用函数和全局变量

时间:2011-03-22 16:39:30

标签: javascript jquery jquery-plugins

我有一个函数,它也设置了一些全局变量。函数本身工作正常,但每当我第二次调用函数时,全局变量显然会发生变化。

这是我的理论设置:

var dataurl;
var datafunction;

function GetData(_url, _function)
{
  dataurl = _url;
  datafunction = _function;
}

//Afterwards dataurl and datafunction will used by other functions.

现在我对jquery很新,我不确定如何以正确的方式创建它,因此可以重复使用1次以上。有人可以帮我正确的方向吗?

2 个答案:

答案 0 :(得分:2)

可以创建对象:

var myObject = function() {
    // Local variable
    this.data = '';

    // Function to call
    this.callMe = function() {
        alert(this.data);
    }

    // Function to set data
    this.setData = function(newData) {
        this.data = newData;
    }
}

var a = new myObject();
a.setData('Hello World!');
a.callMe();

答案 1 :(得分:1)

不确定这是如何与元素(jQuery插件)相关的,但是这里是你如何构建你的原型:

var DataHelper = function(_url, _function){
    this.dataurl = _url;
    this.datafunction = _function;
};
DataHelper.prototype = {
    GetData: function(){
        // loads data from storage
        // using this.dataurl, and this.datafunction
    }
};

<强>用法:

var dataHelper = new DataHelper('/mysite/url/', function(){
    // data function
}); 

dataHelper.GetData();