es6中改变一个class的全局变量

  • Post author:
  • Post category:其他



声明一个全局变量时,使用var,private关键字都不对

export class Portal{
    currentPic=0;
    title='kjk';
    constructor(){
        var that=this;
        setInterval(function(){ // 自动播放,每3秒触发一次单击事件,来播放幻灯片
            var id = (that.currentPic + 1) % 3;
            that.currentPic = id;}, 3000);
    }
}
在setInterval里面用this来定位全局变量,并对其改变值,调试发现,在setInterval()里面,this是指向window的,于是在
setInterval()方法外面,将类的对象赋值给that来进行保存,最后改变that的变量的值,就改变了全局变量的值。



版权声明:本文为LUOLUO68原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。