本帖最后由 xiaojing7 于 2009-07-15 10:57:39 编辑

解决方案 »

  1.   

    直接执行了function啊,因为是返回this,所以数组所有元素内容全显示出来了
      

  2.   

    var a=new Array("aa","bb",function(){var arr = new Array();for(var n=0;n<this.length-1;n++){arr.push(this[n]);}return arr});
    alert(a[2]());
      

  3.   

    var a=Array("aa",function(){return this==a})
    var b=new Array("bb",function(){return this==b})
    alert(a[1]())
    alert(b[1]())
      

  4.   

    大哥,咋困惑啦?this=a有问题吗?
      

  5.   


    var a=Array("aa",function(){return this})
    alert(a[1]())//首先调用函数,返回了数组本身,而alert时,就是调用Array.join(',')var a=Array("aa",function(){return this==a})
    var b=new Array("bb",function(){return this==b})
    alert(a[1]())//和上面一样的道理啊,调用函数,返回一个值,this==a,那当然是true咯,只不过上面返回的是数组,这里返回的是true
    alert(b[1]())