从对象内部的函数获取作用域外的变量 - Javascript
Get variable outside scope from a function inside an object - Javascript
我在 Class.
中的一个对象中有一个函数
class 的对象已初始化,我想调用该函数,但该函数需要在 Class 的构造函数中定义一个变量。
class someClass {
constructor() {
this.foo = "bar";
this.print = {
variable: function() {
console.log(this.foo);
}
};
}
}
// And I call it from the global scope
var someObject = new someClass();
someObject.print.variable();
它将打印
undefined
我知道是一个不同的范围,也许我无法访问它。
这个objective是为了配合我的功能。
我想像 someObject.print.variable();
那样访问我的函数
也许是这样的?
<script>
class someClass {
constructor() {
let that = this;
this.foo = "bar";
this.print = {
variable: function() {
console.log(that.foo);
}
};
}
}
//And I call it from the global scope
var someObject = new someClass();
someObject.print.variable();
</script>
使用箭头函数,它将绑定到定义它的对象中的原始 this
。
class someClass {
constructor() {
this.foo = "bar";
this.print = {
variable: () => {
console.log(this.foo);
}
};
}
}
// And I call it from the global scope
var someObject = new someClass();
someObject.print.variable();
我在 Class.
中的一个对象中有一个函数class 的对象已初始化,我想调用该函数,但该函数需要在 Class 的构造函数中定义一个变量。
class someClass {
constructor() {
this.foo = "bar";
this.print = {
variable: function() {
console.log(this.foo);
}
};
}
}
// And I call it from the global scope
var someObject = new someClass();
someObject.print.variable();
它将打印
undefined
我知道是一个不同的范围,也许我无法访问它。
这个objective是为了配合我的功能。
我想像 someObject.print.variable();
那样访问我的函数也许是这样的?
<script>
class someClass {
constructor() {
let that = this;
this.foo = "bar";
this.print = {
variable: function() {
console.log(that.foo);
}
};
}
}
//And I call it from the global scope
var someObject = new someClass();
someObject.print.variable();
</script>
使用箭头函数,它将绑定到定义它的对象中的原始 this
。
class someClass {
constructor() {
this.foo = "bar";
this.print = {
variable: () => {
console.log(this.foo);
}
};
}
}
// And I call it from the global scope
var someObject = new someClass();
someObject.print.variable();