js一百零一夜之第四夜-call的用法及call实现继承

来源:互联网 发布:白俄罗斯知乎 编辑:程序博客网 时间:2024/06/10 04:12

 

 

<script>
//call 的用法
//call 方法js文档说明
//调用一个对象的一个方法,以另一个对象替换当前对象。
//call([thisObj[,arg1[, arg2[,   [,.argN]]]]])

  var value="glaobal 变量"
  function Func(){
   this.value="局部变量"
  }
  function Obj(){
     alert(this.value); 
  }
  Obj.call();//如果没有参数表示 替换的当前对象是window 对象
  Obj.call(window);  //Obj.call()==Obj.call(window)
  Obj.call(new Func()); //obj是要被替换的对象 ,New Func() 是替换后的对象。
 
  //call 实现继承
  function Father(){
    var age=12;  //定义为私有变量 子类不不能继承
    this.handle=function(){
     this.name="黄山";
     return this.name;
     }
   }
  function Subclass(){
  Father.call(this); //call  实现继承
  this.test=function(){
    alert("test方法");
   }
 
  }
   var s=new Subclass();
   alert(s.handle());
   s.test();
 
 
</script>