javascript - 如何访问对象集合中实例的 'this'

标签 javascript this javascript-objects

我已经用构造函数创建了一个对象。然后我将它的“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/

相关文章:

javascript - 通过 babel 运行 React Native es6 javascript

Javascript "this"在 IE 中丢失上下文

jquery - 将 "this"传递到 $.trim() 函数中

javascript - 在对象上使用 jQuery grep

javascript - 调用 jQuery AJAX 中包含的方法,该方法包含在同一类的方法中

javascript - React Native 深层链接应用程序从后台打开

javascript - 用php编写js文件时删除换行符

C++ 将函数模板实例化为类成员并使用 "this"指针

javascript - 对于此映射对象和数组,哪种数组函数是更有效的选择?

javascript - 如何区分动态加载的脚本和普通的 src 脚本