Javascript 如何使用静态变量数组?

Javascript 如何使用静态变量数组?,javascript,Javascript,这有点尴尬,但我需要一个静态变量数组。每次调用函数时,我都需要访问这些变量。基本上,我有一个效果函数,它由一个变量“控制”,当前称为“运行时间” 但是,我需要传递给函数的每个元素的经过时间,这样我才能确保不在同一个元素上运行效果…(对于我的淡入淡出函数,这会导致闪烁效果) 我想使用元素.id来命名变量 我刚刚读到一篇文章说关联数组不是真正的关联数组,你不应该使用它们 下面是我当前需要更新的函数 /** * Effects */ var Effects = function( elem

这有点尴尬,但我需要一个静态变量数组。每次调用函数时,我都需要访问这些变量。基本上,我有一个效果函数,它由一个变量“控制”,当前称为“运行时间”

但是,我需要传递给函数的每个元素的经过时间,这样我才能确保不在同一个元素上运行效果…(对于我的淡入淡出函数,这会导致闪烁效果)

我想使用
元素.id
来命名变量

我刚刚读到一篇文章说关联数组不是真正的关联数组,你不应该使用它们

下面是我当前需要更新的函数

/**
 *    Effects
 */

var Effects = function( element ) 
{
    this.element = element;
};

Effects.prototype.fade = function( direction, max_time ) 
{
    Effects.elapsed = 0;
/*
    Effects.arrayHold = [];
    Effects.arrayHold.push( this.element.id );
*/
    var persist_element = this.element;
    function next() 
    {
        Effects.elapsed += 10;
        if ( direction === 'up' )
        {
            persist_element.style.opacity = Effects.elapsed / max_time;
        }
        else if ( direction === 'down' )
        {
            persist_element.style.opacity = ( max_time - Effects.elapsed ) / max_time;
        }
        if ( Effects.elapsed <= max_time ) 
        {
            setTimeout( next, 10 );
        }
    }
    next();
    return true;
};
/**
*影响
*/
var效应=功能(元素)
{
this.element=元素;
};
Effects.prototype.fade=功能(方向、最大时间)
{
有效期=0;
/*
Effects.arrayHold=[];
Effects.arrayHold.push(this.element.id);
*/
var persist_element=this.element;
函数next()
{
效应时间+=10;
如果(方向==“向上”)
{
persist_element.style.opacity=Effects.appeased/max_time;
}
否则,如果(方向==‘向下’)
{
persist_element.style.opacity=(max_time-Effects.appeased)/max_time;
}

如果(Effects.appeased只需使用对象而不是数组

认真地看一下jQuery中内置的and函数;还有一个函数;所有这些函数都具有持续时间、缓解和回调函数选项。我提到过跨浏览器功能吗?你关心一些博客文章吗?当它是最好的工具和工具时,使用关联数组st避免陷阱。不要将效果、arrayHold声明为数组,因为您将其用作对象。因此,最好使用Effects.objectHold={persust_element.id:0};并从此处开始