JavaScriptのアプリとcallの方法


コール方法の公式は、オブジェクトを呼び出す方法の一つとして、現在のオブジェクトを別のオブジェクトに置き換えます.call([thisObj],arg 1[,arg 2[,   [.argN]]])パラメータthisObjを選択します.現在のオブジェクトとして使用されます.arg 1、arg 2、argNオプションがあります.転送される方法のパラメータ系列を指定します.コール方法は、他のオブジェクトの代わりに一つの方法を呼び出すために使用されてもよい.call方法は、関数のオブジェクトコンテキストを初期のコンテキストから、thisObjによって指定された新しいオブジェクトに変更することができる.==========================================================================================================================================================================================================アプリ方法の公式解釈では、あるオブジェクトの一つの方法を適用し、別のオブジェクトで現在のオブジェクトを置換します.apply([thisObj])パラメータthisObjを選択できます.現在のオブジェクトとして使用されます.argArayオプションがあります.この関数のパラメータ配列に渡されます.argArayが有効な配列ではないか、またはargmentsオブジェクトではない場合、TypeErrorを引き起こすことを説明します.argArayおよびthisObjのいずれかのパラメータが提供されていない場合、GlobalオブジェクトはthisObjとして使用され、任意のパラメータを伝達することができない.上の公式の紹介から分かるように、両者が実現する機能は全く同じであり、ただパラメータ伝達方式が違っているだけで、callは各パラメータを「、」で区切っています.二つの方法の使い方を例を挙げて説明します.   this.o=「I'm string o」   this.i="I'm string"  //this.uは定義されていませんが、呼び出しはfunbの中にありますので、定義は大丈夫です.   this.fun=function(t,z){       var s=「this.o:」+this.o+「this.i:」+this.i+「this.u:」+this.u+「t:」+t+「z:」+z;       alert(s)   } } function funb(){   this.o=「I'm other string o」  //this.iが定義されていませんので、undefinedに戻ります.   this.u="I'm string u";var a=new funa();var b=new funb()/*aオブジェクトのfunメソッドを実行するときは、aのthisをbオブジェクトのthisに変換しますので、funaの中のthis.oは実際にfunbの中のthis.o.fun.co.co.ful.cva(b.fund)です.簡単に言えば、Obj 1の方法をObj 2に置いて使います.後のargment 1.これらはパラメータとして伝えられます.
継承実現
 

  
  
  
  
    # :  function a(v){  
  1.    this.a=v;  
  2. }  
  3. function b(v){  
  4.     this.b="test2";   
  5.     a.apply(this,new Array(v));
  6. //apply a () ,
  7. }  
  8. var c=new b();  
  9. alert(c.a);  
  10. alert(c.b);
  11.  
 
 
 
 
転載:http://hi.baidu.com/jctr/blog/item/1eb4f0366f02ac300b55a96c.html