switch (J){
case 0:
switch (Z){
case 1:
...
case 0:
  ...
  }
case 1:}

解决方案 »

  1.   

    根据你给出的代码J的作用不大
    if(J>=0 && J<=3)
      if(Z == 0)
        main.document.all("BH048").src="picture/chilunb11.gif";
      else if(Z == 1)
        main.document.all("BH048").src="picture/-chilunl.gif";当情况可能很复杂时,可以
    switch(J+""+Z) {
      case "00":
      case "10":
      case "20":
      case "30":
        main.document.all("BH048").src="picture/chilunb11.gif";
        break;
      case "01":
      case "11":
      case "21":
      case "31":
        main.document.all("BH048").src="picture/-chilunl.gif";
        break;
    }
      

  2.   

    不太明白你的意思。你是觉得性能不好还是觉得这样写比较麻烦。
        如果想提高性能你用 (condition?(condition)?true:false):false)
        这样的效率绝对比if{} else{}高很多。当然看起来很麻烦。否则你就用
        swich()
        {
         case1:
         ......
         break;
         case2:
         ......
         break;
         ................
        }
      

  3.   

    缺陷:
    1.每个判断都的执行
    因此if()
    else if()可以解决
    2.
    main.document.all("BH048").src可以定义为
    var oImage = main.document.all("BH048").src
    以便后面引用
      

  4.   

    每个判断都要执行一次,所以效率变低
    可以用else if()
    还有,参考Huffman树的算法,把访问概率权重最大的条件放在最前面,依次递减
      

  5.   

    比如说你用picture/-chiluJZ.gif这样的形式来作图片地址。里面的JZ就是你的J,Z的值,到时候用main.document.all("BH048").src="picture/-chilunh"+J+Z++".gif";这样来赋图片的地址,不过到时候估计图片的个数会比较多就是了。
      

  6.   

    J和Z的构成其实很有规律的:
    var ar=[
    ["picture/chilunb11.gif","picture/-chilunb.gif"],
    ["picture/chilunl11.gif","picture/-chilunl.gif"],
    ["picture/chilunh11.gif","picture/-chilunh.gif"],
    ["picture/chilunl11.gif","picture/-chilunl.gif"]];main.document.all("BH048").src=ar[J][Z];但其实楼主的代码在性能上并没有大的问题,在这里做优化颇有钻牛角尖的味道。
      

  7.   

    不是要钻牛角尖,而是两个页面用的方法一样,但性能完全不一样,一个CPU占有率最多是百分之二十,另一个却达到百分之八九十呀!郁闷!