<script type='text/javascript'>
function a(){
alert(arguments[4])
var b=arguments[4]==undefined ?'1':arguments[4];
alert(b)
}
a();
</script>是你的写法有问题

解决方案 »

  1.   

    写法有问题?
    是指那里?<script type='text/javascript'>
    function a()
    {
      alert(arguments[4])
      var b=arguments[4]==undefined ?'1':arguments[4];
      alert(b)
    }
    a();
    </script>======
    initialize:function(p,aopa,la,tarifr) 

    this.pE=p; 
    this.AOPA=aopa; 
    this.linkarr=la; 
    this.tarIframe=tarifr; 
    this.objid=arguments[4]==null?'1':arguments[4]; 
    this.reset(); 
    }, 这是prototype的初始化函数,this.reset()是调用该类的reset()方法
      

  2.   

    arguments[4]==undefined 如果没有的话要用undefined来判断,null不行
      

  3.   

    对象类片段/* 全局声明 */                (这些是预备类对象的声明,也就是一个引用该脚本文件的页面最多能有5个实例)
    var azuresong=null;
    var azuresong2=null;
    var azuresong3=null;
    var azuresong4=null;
    var azuresong5=null;
    /* AzureSong类
    *  该类生成二级深度菜单列表
    */
    var AzureSong=Class.create();
    AzureSong.prototype=
    {
    initialize:function(p,aopa,la,tarifr)
    {
    this.pE=p;
    this.AOPA=aopa;
    this.linkarr=la;
    this.tarIframe=tarifr;
    this.objid=arguments[4]==null?'1':arguments[4];
    arguments[4]=null;
    this.reset();
    },
    /* 初始化AzureSong */
    reset:function()
    {
    var sbody=this.doFirstItem();
    $(this.pE).innerHTML+=sbody;
    this.doLink();
    },        ......
            ......
            ,
    }页面中:
    azuresong=new AzureSong(......);
      

  4.   


    <script type="text/ecmascript">
    alert(undefined == null); //他没用衡等,类似无所谓,不过我测试没错啊,能给段可测试的代码否var o = function () {
    this.initialize();
    };
    o.prototype = { constructor : o

    , initialize : function(p,aopa,la,tarifr) { 
    this.pE=p; 
    this.AOPA=aopa; 
    this.linkarr=la; 
    this.tarIframe=tarifr; 
    this.objid=arguments[4]==null?'1':arguments[4]; 
    this.reset(); 
    }

    , reset : function () {
    alert(1);
    }
    };new o;
    </script>
      

  5.   

    initialize:function(p,aopa,la,tarifr)
    {
    this.pE=p;
    this.AOPA=aopa;
    this.linkarr=la;
    this.tarIframe=tarifr;
    this.objid=arguments[4]==undefined?'1':arguments[4];

    this.reset();
    },还是出原来的错误.
    加个注释就没问题了 initialize:function(p,aopa,la,tarifr)
    {
    this.pE=p;
    this.AOPA=aopa;
    this.linkarr=la;
    this.tarIframe=tarifr;
    this.objid=arguments[4]==undefined?'1':arguments[4];
    //arguments[4]==null;
    this.reset();
    },
      

  6.   

    果然 ==null我没测试
    看来不能偷懒
      

  7.   

    把静态文件和代码择到一个文件夹中,测试了一下,发现是文件拷贝的问题.就是一个js文件
    d:\a.js   拷贝到  c:\abc\a.js
    在这个拷贝过程中,含有这行代码的Js "arguments[4]=null;"  在js文件末尾是一段注释(正常)
           ...
          ...
          </ul>
        </ul>
      </div>
    */不含有这行代码的Js "arguments[4]=null;"  在js文件末尾是一段注释(错误)
          </ul>
        </ul>
      </div>
    */
         </ul>   <---- 被解释成了js代码
        </div>
    */
    多出来一段,造成脚本错误,我想这是Java FileIO 的问题,可能对文本文件的注释标记"*/"拷贝时的意外.最后经过测试,这行代码 arguments[4]=null; 有没有脚本都是正确的,它只是造成了文件拷贝的意外
    initialize:function(p,aopa,la,tarifr) 

    this.pE=p; 
    this.AOPA=aopa; 
    this.linkarr=la; 
    this.tarIframe=tarifr; 
    this.objid=arguments[4]==null?'1':arguments[4]; 
    this.reset();           
    }, 多谢大家的建议和帮助,结贴
      

  8.   

    编程文章网       http://www.KingOfCoder.com
    新年快乐