我已经用构造函数创建了一个对象。然后我将它的“this”值存储到一个变量中。
使用“new”创建一些对象后,我将它们推送到一个数组中。当我再次访问这些对象时,所有对象的“this”值都已成为最后创建的对象。
var t = function(x){
j = this;
this.u = x;
this.k = function (){
return j.u;
}
}
var g = [];
for(var i = 0; i < 10; i++)
g.push(new t(i));
for(var i = 0; i < 10; i++)
console.log(g[i].k());
这会打印十个“9”,而不是 0 到 9。
如何访问当前实例的“this”内部函数。并访问当前对象的详细信息。
最佳答案
因为j
是一个全局变量。做:
let j = this;
那么它就是关闭的一部分。
关于javascript - 如何访问对象集合中实例的 'this',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49552724/