ES6中函数调用自身需要注意的问题


在传统的递归调用中,可以采用如下方式

function sum(n) {
    return sum(n - 1) + n;
}

但如今es6盛行,为了保持代码一致性,可以采用两种解决方式。

第一种,将this重新绑定到回调

this.rendering= this.rendering.bind(this);
rendering() {
    requestAnimationFrame(this.rendering);
    this.cube.rotation.x += 0.1;
    this.cube.rotation.y += 0.1;
    this.renderer.render(this.scene, this.camera);
}

第二种方式使用箭头函数自动绑定到this

rendering() {
    requestAnimationFrame(()=>this.rendering);
    this.cube.rotation.x += 0.1;
    this.cube.rotation.y += 0.1;
    this.renderer.render(this.scene, this.camera);
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM