微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我可以覆盖已在 javascript 中的另一个函数中声明的函数吗?

如何解决我可以覆盖已在 javascript 中的另一个函数中声明的函数吗?

我正在学习 JavaScript,我想在我的项目中使用particleJS,但问题是库中有一个函数我想自定义但我不知道如何
函数是用 752 行编写的这段代码,我想用我自己的 javascript 覆盖它

pJS.fn.modes.pushParticles = function(nb,pos){

    pJS.tmp.pushing = true;

    for(var i = 0; i < nb; i++){
      pJS.particles.array.push(
        new pJS.fn.particle(
          pJS.particles.color,pJS.particles.opacity.value,{
            'x': pos ? pos.pos_x : Math.random() * pJS.canvas.w,'y': pos ? pos.pos_y : Math.random() * pJS.canvas.h
          }
        )
      )
      if(i == nb-1){
        if(!pJS.particles.move.enable){
          pJS.fn.particlesDraw();
        }
        pJS.tmp.pushing = false;
      }
    }

  };

the library's GitHub page

这是我试图完成我需要的:

<script src="https://cdn.jsdelivr.net/npm/particles.js@2.0.0/particles.min.js"></script>

    <script>
        particlesJS.load('particles-js','particles.json',function () {
            console.log('callback - particles.js config loaded');
        });

        pJS.fn.modes.pushParticles = function (nb,pos) {

            pJS.tmp.pushing = true;

            // limit of the particles
            // this is used to limit the number of particles by calclating the canvas view
            var particlesLimit = Math.floor(pJS.canvas.el.width / 20);

            // each click adds 4 particles,so we remove 4 ones if there was more than limit
            if (pJS.particles.array.length > particlesLimit) {
                pJS.particles.array.shift();
                pJS.particles.array.shift();
                pJS.particles.array.shift();
                pJS.particles.array.shift();
            }

            for (var i = 0; i < nb; i++) {
                pJS.particles.array.push(
                    new pJS.fn.particle(
                        pJS.particles.color,{
                            'x': pos ? pos.pos_x : Math.random() * pJS.canvas.w,'y': pos ? pos.pos_y : Math.random() * pJS.canvas.h
                        }
                    )
                )
                if (i == nb - 1) {
                    if (!pJS.particles.move.enable) {
                        pJS.fn.particlesDraw();
                    }
                    pJS.tmp.pushing = false;
                }
            }
        }

    </script>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。