bind(this)绑定this指向的对象、箭头函数和闭包
2017-06-27 17:33
561 查看
用bind(this),就是绑定this指向这个组件
componentDidMount: function () {
this.timer = setInterval(function () {
var opacity = this.state.opacity;
opacity -= .05;
if (opacity < 0.1) {
opacity = 1.0;
}
this.setState({
opacity: opacity
});
}.bind(this), 100);//绑定this指向这个组件,不绑定setInterval就会指向undefined
}
用箭头函数setInterval里面函数的this会继承外层的this
componentDidMount: function () {
that.timer =setInterval(()=>{
var opacity=this.state.opacity;
opacity-=0.05;
if(opacity<0.1){
opacity=1.0;
}
this.setState({
opacity:opacity
})
},100)
},
闭包,把this传到function里用that接收
componentDidMount: function () {
(function (that) {
that.timer = setInterval(function () {
var opacity = that.state.opacity;
opacity -= .05;
if (opacity < 0.1) {
opacity = 1.0;
}
that.setState({
opacity: opacity
});
}, 100);
})(this)
},
componentDidMount: function () {
this.timer = setInterval(function () {
var opacity = this.state.opacity;
opacity -= .05;
if (opacity < 0.1) {
opacity = 1.0;
}
this.setState({
opacity: opacity
});
}.bind(this), 100);//绑定this指向这个组件,不绑定setInterval就会指向undefined
}
用箭头函数setInterval里面函数的this会继承外层的this
componentDidMount: function () {
that.timer =setInterval(()=>{
var opacity=this.state.opacity;
opacity-=0.05;
if(opacity<0.1){
opacity=1.0;
}
this.setState({
opacity:opacity
})
},100)
},
闭包,把this传到function里用that接收
componentDidMount: function () {
(function (that) {
that.timer = setInterval(function () {
var opacity = that.state.opacity;
opacity -= .05;
if (opacity < 0.1) {
opacity = 1.0;
}
that.setState({
opacity: opacity
});
}, 100);
})(this)
},
相关文章推荐
- 【js学习之路】事件绑定函数中,将this换成调用对象导致的问题
- boost::bind绑定成员函数时,第一个参数传递对象的特殊情况
- JavaScript 面向对象之二 —— 函数上下文(this的指向)
- 001_关于循环绑定事件函数中的对象索引值与this
- 关于箭头函数的 this 绑定
- javascript使用bind()函数绑定this
- 浅谈javaScript的 this指向重绑定 与 函数自执行用法 与 自执行指向
- ES6箭头函数中的this绑定问题
- bind(this)和es6箭头函数
- JavaScript call apply使用——JavaScript对象的方法绑定到DOM事件后this指向问题
- this指针指向当前调用对象,只是用于类的非静态成员函数。静态函数和全局函数 无当前对象,无this指针。
- setInterval中this问题,以及bind绑定this的指向问题
- 用enable_shared_from_this在类的成员函数中获得指向当向前对象的shared_ptr
- this 指向详细解析(箭头函数)
- jquery获取任意点击到的对象,绑定点击函数event.target 不能用this
- JavaScript高级程序设计之函数表达式之闭包之关于 this 对象第7.2.2讲笔记
- flexigrid的处理函数使用闭包传递this对象
- React事件处理函数中绑定this的bind()函数
- ES6---箭头函数与function定义函数有什么区别?在箭头函数中,this指向,构造函数,变量提升是如何表现的?
- JavaScript call apply使用 JavaScript对象的方法绑定到DOM事件后this指向问题