Javascript 如何在setTimeout()内设置构造函数对象的值?
我想在作为Constructorfunction属性的arrowfunction中设置Constructorfunction的属性。在arrow函数中,我想使用setTimeout(),它将函数作为参数。在我的例子中,是一个匿名函数 提前感谢:)Javascript 如何在setTimeout()内设置构造函数对象的值?,javascript,object,constructor,settimeout,anonymous-function,Javascript,Object,Constructor,Settimeout,Anonymous Function,我想在作为Constructorfunction属性的arrowfunction中设置Constructorfunction的属性。在arrow函数中,我想使用setTimeout(),它将函数作为参数。在我的例子中,是一个匿名函数 提前感谢:) 将您的setTimeout回调更改为箭头函数,以使其继承外部作用域(即您的构造函数的作用域) 将您的setTimeout回调更改为箭头函数,以使其继承外部作用域(即您的构造函数的作用域) 代码中没有为ConstructorFunction设置属性。注意
将您的
setTimeout
回调更改为箭头函数,以使其继承外部作用域(即您的构造函数的作用域)
将您的setTimeout
回调更改为箭头函数,以使其继承外部作用域(即您的构造函数的作用域)
代码中没有为ConstructorFunction
设置属性。注意,构造函数中的这个
指的是新创建的构造函数实例,而不是构造函数本身。是的,我知道这一点。但你是对的,我对那部分解释得很糟糕。感谢您的澄清:)您的代码中没有为ConstructorFunction
设置属性。注意,构造函数中的这个
指的是新创建的构造函数实例,而不是构造函数本身。是的,我知道这一点。但你是对的,我对那部分解释得很糟糕。谢谢你的澄清:)哇,太快了!非常感谢你,我真的不知道为什么我没有一直坚持使用箭头函数…不用担心,很高兴它有帮助:)哇,太快了!非常感谢,我真的不知道为什么我没有一直坚持使用箭头函数……不用担心,很高兴它起到了作用:)
function ConstructorFunction(){
this.statusOptions = {
idle : 'idle',
working : 'working'
};
this.status = this.statusOptions.idle;
this.setStatus = () => {
setTimeout(function(){
this.status = this.statusOptions.working;
}, 2000);
};
}
var instance = new ConstructorFunction();
instance.setStatus();
this.setStatus = () => {
setTimeout(() => {
this.status = this.statusOptions.working;
}, 2000);
};