其實是flash裡的東西,因為flash的actionScript和javaScript語法是一樣的,所以就在這裡問了,這裡人多,
不簡化是正常的,但an太多時寫起來就麻煩了,所以想簡化,好象很容易,但想了n久也沒想出簡化代碼,

解决方案 »

  1.   

    var a = new Array(11,12,12,13,14,16,23,34,35,65,54)
    var sum=0;
    for(i=0;i<=a.length;i++)
    {
      if(a[i]>10)
        sum = sum+1;
    }
    if(sum==a.length)
      alert("ok");我自己试过可以了。你再根据你的要求改改吧
      

  2.   

    注意:你是从a1到an
    for(var i=1;i<=n;i++)  
    如果i<n 就漏掉了an 
    如果i=0 就多出来一个错误的循环
      

  3.   

    周未了没得测试,不过看一下好象不可以啊,
    简单的说,假如只有a1,a2,a3,a4,a5这么多。
    因为代码不断执行(可能每秒执行10多次),所以每次执行就会执行一次for循环了,
    那第一个for(i=0;i<=a.length;i++)循环时假如a的值分别是:a1=13,a2=7,a3=9,a4=15,a5=6,那sum=2了。
    那第二个for(i=0;i<=a.length;i++)循环时a的值分别是:a1=11,a2=12,a3=6,a4=13,a5=8,那sum=5了
    那第三个for循环又不同了,代码不断执行使a的值是不断变化的,直到所有a物件静止,就是所有a的值都大于10(不静止时总有至少一个会小于10),就是要判断所有a静止时停止执行代码。
    if(a1>10 && a2>10 && a3>10 && a4>10 && a5>10){
    delete this.onEnterFrame;
    }
    这可以判断所有的a都静止了,就停止代码执行。但简化不了。
      

  4.   

    哦,看漏了,好象可以的,每次执行时sum的值重新初始化为0,sum会重新计算,
    但怎么将a的值都放进数组var a = new Array(11,12,12,13,14,16,23,34,35,65,54)里比较呢?
    效率不大好