如题

解决方案 »

  1.   

    就是调用对象是一个Array,对Array类型增加了一个原型写法的函数,一般写一些扩展时经常用。比如判断一个元素是否在数组中之类的
    Array.prototype.inArray=function(value){
        for(var i=0;i<this.length;i++){
            if (this[i] == value){
               return true;
            }
        }
        return false
    };
    var arr=["1","2","3"];
    //以下同调用方式,在inArray函数中,使用this即可得到arr
    arr.inArray("1");
      

  2.   


    那么就是说 Array.prototype.slice()方法是附加到object对象上吗,
      

  3.   

    var arr=["1","2","3"];
    alert(arr.slice(0,1));//1
    alert(Array.prototype.slice.call(arr,2));//3
    Lz到底想问的是哪个类型的?两个都一样,调用时,都是指向调用的对象arr(它是一个Array)
      

  4.   

    不是,slice是array的原型上的方法,下面这个个人见解
    比如
    类A:
    funtion A(){
    }
    A.prototype.sayA=funct(){};
    类B:
    function B()   
    {   
    }   
    //继承于A
    B.prototype=new A();这样new B() 的对象的sayA() 调用的是继承于A的方法
    同样也可以再定义B的
    B.prototype.sayB=function(){
    }
    slice和这里的sayB差不多
      

  5.   


    这个我知道,prototype也是一个对象啊 也是一个盛放key-value的容器,就拿你这个例子来说 B的prototype是A的实例对象,在B的原型对象上添加sayB方法,不是讲sayB添加到B.prototype指向的A对象上吗?
      

  6.   

    不是讲sayB添加到B.prototype指向的A对象上吗?
    应该不是吧
    B.prototype 这个prototype是prototype属性,指向一个prototype对象
    看这里
    http://www.cnblogs.com/qiantuwuliang/archive/2011/01/08/1930548.html