1.説明を呼び出して適用します
1. call、applyは、function.prototypeに属しているため、function.prototypeの方法です。メソッドの属性であるため、もちろん、これらの2つの方法は簡単に混乱しています。
2。文法:foo.call(this、arg1、arg2、arg3)== foo.apply(this、arguments)== this.foo(arg1、arg2、arg3);
3。同じ点:2つの方法の関数はまったく同じです。
4。異なるポイント:メソッドパスの異なるパラメーター。
2。例コード
次のようにコードコードをコピーします。
<script type = "text/javascript">
関数a(){
this.flag = 'a';
this.tip = function(){{
アラート(this.flag);
};
}
関数b(){
this.flag = 'b';
}
var a = new a();
var b = new b();
//a.tip.call(b);
a.tip.apply(b);
</script>
第三に、コードの説明(つまり、応募と呼び出しの役割)
1.インスタンスコードは、2つの関数AとBを定義します。Aはフラグプロパティとチップ属性(この属性に関数が割り当てられます)が含まれ、Bにはフラグ属性があります。
2。それぞれAとBのオブジェクトAとBを作成します。
3.それがa.tip.call(b)であるかどうか。
4。結果から、呼び出しと適用により、AオブジェクトのtメソッドがAオブジェクトを呼び出し、このオブジェクトを変更できることがわかります。