Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中创建变量实例,并在匿名函数中访问变量_Javascript_Jquery - Fatal编程技术网

在Javascript中创建变量实例,并在匿名函数中访问变量

在Javascript中创建变量实例,并在匿名函数中访问变量,javascript,jquery,Javascript,Jquery,我有以下JavaScript代码: var objSample = { variable: 10, func1 : function(){ someJQueryPlugin(1, function(){ this.variable; // this doesn't work, don't have access }); } } 我有两个问题: 1) 如何创建变量的实例,以便有两个独立的对象,每个对象都有其唯一的变量值 例

我有以下JavaScript代码:

var objSample = {
   variable: 10,
   func1 : function(){
       someJQueryPlugin(1, function(){
             this.variable; // this doesn't work, don't have access
       });
    }
}
我有两个问题:

1) 如何创建变量的实例,以便有两个独立的对象,每个对象都有其唯一的变量值

例如:

var obj1 = new objSample();
obj1.variable = 1;

var obj2 = new objSample();
obj2.variable = 2;

2) 如何从对象中函数内的jQuery插件访问匿名函数内的变量。传递
没有帮助。

您需要将代码从对象文本更改为构造函数,并确保在
func1
函数中引用正确的

var objSample = function(){
  this.variable = 10
   this.func1 = function(){
       someJQueryPlugin(1, function(){
             this.variable; <-- this doesn't work, don't have access
       });
    }
}
function ObjSample() {
  this.variable = 10;
  this.func1 = function () {
    var _this = this;
    someJQueryPlugin(1, function () {
      _this.variable;
    });
  }
}

太好了,非常感谢Gena的快速响应。
 var objSample = function(options){
      var self = this;
      self.variable = options.val
       self.func1 = function(){
           someJQueryPlugin(1, function(){
                 self.variable;
           });
        }
    }
function ObjSample() {
  this.variable = 10;
  this.func1 = function () {
    var _this = this;
    someJQueryPlugin(1, function () {
      _this.variable;
    });
  }
}