帮我解释下这段JS代码的意思,谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/04 18:03:46
var r=[];var lt=0;var rt=0;
var a=function(n)
{
if(1==n)
{obj=m(lt,rt);rt=obj.r2;lt=obj.r1;}
else
{obj=m(rt,lt);rt=obj.r1;lt=obj.r2;}
}
function m(n1,n2)
{
if(n1)
{r.push(n1);n1=0;}n2++;
if(5==r.length && n2>7)
{r.push(n2);if(c())g();return;}
return {"r1":n1,"r2":n2};}
function c()
{for(var i=1;i<4;i++){if((r[i]+r[i+1])!=r[i+2])return 0;}return 1;}

谢谢
似乎和斐波那契数列有关系
JS我实在是不懂.这是从一个网站的一个JS文件里提取出来的片段.它应该是判断一系列点击,还似乎和非波拉切数列有关系.
很重要.我需要知道它是怎么判断这一系列点击,这个数列会是什么.
所以才给200多积分.
所以试试给我解释一下吧,再基本的也好.反正我什么都不懂.对我来说什么都不基本.谢谢了!

首先你的这段代码不全.无法知道代码完整功能

//定义四个变量,r为数组,lt=0,rt=0
var r=[];var lt=0;var rt=0;

//定义一个函数变量a,有一个参数n,以后可以使用a(1),a(3)之类的调用
var a=function(n){
        //如果参数n的值为1的话
        if(1==n){
                //以全局变量lt,rt为参数调用
                obj=m(lt,rt);
                //将返回对象的r2字段赋值给全局变量rt的
                rt=obj.r2;
                //将返回对象的r1字段赋值给全局变量lt的
                lt=ob