gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 17:08:59 26 4
gpt4 key购买 nike

我有以下 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 插件访问匿名函数内的变量。传递 this 没有帮助。

最佳答案

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

您还可以使用参数扩展构造函数

 var objSample = function(options){
this.variable = options.val
this.func1 = function(){
someJQueryPlugin(1, function(){
this.variable; <-- this doesn't work, don't have access
});
}
}
var obj1 = new objSample ({val:1})
var obj2 = new objSample ({val:2})

并且要从不同上下文中的回调访问this,请将this 包含到某个变量中。所以最终代码如下:

 var objSample = function(options){
var self = this;
self.variable = options.val
self.func1 = function(){
someJQueryPlugin(1, function(){
self.variable;
});
}
}

关于javascript - 在 Javascript 中创建变量的实例并在匿名函数中访问变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24994091/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com