Javascript 使用';这';
我使用的软件不知道全局对象名(不,它不是窗口),但我想知道Javascript 使用';这';,javascript,object,Javascript,Object,我使用的软件不知道全局对象名(不,它不是窗口),但我想知道 console.log(this) 给我[对象] for(var property in this) { console.log(property + "=" + this.property); } 给了我“this”的属性 但是,我需要“this”的名称/id(可以在其他上下文/对象中访问属性的内容)。有没有可能做到这一点 我已经对此进行了分析,但找不到合适的解决方案。您需要使用从此上下文中获取属性值 可以使用返回属性名
console.log(this)
给我[对象]
for(var property in this) {
console.log(property + "=" + this.property);
}
给了我“this”的属性
但是,我需要“this”的名称/id(可以在其他上下文/对象中访问属性的内容)。有没有可能做到这一点
我已经对此进行了分析,但找不到合适的解决方案。您需要使用从
此
上下文中获取属性值
可以使用返回属性名称数组的方法获取对象属性
FYI:要访问另一个上下文中的
上下文,请使用在两个上下文中都有作用域的变量(通常可以使用全局变量)来引用它
您需要使用从此
上下文中获取属性值
可以使用返回属性名称数组的方法获取对象属性
FYI:要访问另一个上下文中的上下文,请使用在两个上下文中都有作用域的变量(通常可以使用全局变量)来引用它
对象没有名称?请发布完整的代码@Faizy@Liam如果它们是使用构造函数或新的ES6类语法创建的,则会有。@WilomGfx:函数有名称,对象没有。var someName=this代码>?对象没有名称?请发布完整的代码@Faizy@Liam如果它们是使用构造函数或新的ES6类语法创建的,则会有。@WilomGfx:函数有名称,对象没有。var someName=this代码>?另外,一个不好的选择是JSON.stringify
。或者console.log(“%O”,这是)代码>或控制台日志(“%o”,这是)对不起,我的意思和你写的一样。我的错误。谢谢。虽然这显然是OP代码中的一个错误,但我认为这不是他们要问的问题。另外,一个糟糕的选择是JSON.stringify
。或者console.log(“%O”,这是)代码>或控制台日志(“%o”,这是)对不起,我的意思和你写的一样。我的错误。谢谢。虽然这显然是OP代码中的一个错误,但我认为这不是他们要问的。
for(property in this) {
console.log(property + "=" + this[property]);
// ----^^^^^^^^^^^^^^----
}
// initial variable or neglect to make it as global
var self;
/* cotext 1 start */
// define
self = this;
for(property in self) {
console.log(property + "=" + self[property]);
}
/* cotext 1 end */
/* cotext 2 start */
// use `self` to refer the context1
for(property in self) {
console.log(property + "=" + self[property]);
}
/* cotext 2 end */