JSはメソッドを適用して呼び出す

これらのメソッドは両方とも関数オブジェクトのメソッドであり、関数オブジェクトを介して呼び出す必要があります。
関数を呼び出すとき、callとapplyは両方とも実行する関数を呼び出します
。call()とapply()を動員する際に、最初のパラメーターとしてオブジェクトを指定できます。このとき、このオブジェクトは、関数を実行するとthisになります(通常の関数を実行すると、これが指すウィンドウ)

function fun(){
    
    
		Alert("我是fun函数");
}

fun.apply();
fun.call();
fun();

この状況:
1。関数の形式で呼び出され、これは常にウィンドウです
。2。メソッドの形式で呼び出されますこれが呼び出されたときにメソッドを呼び出すオブジェクトです。3
。コンストラクターの形式で呼び出された場合、これは新しく作成されたオブジェクトです
。4。使用callとapplyが呼び出されると、これは指定されたオブジェクトです。

var obj = {
    
    
	name:"obj",
	sayName:funcrion(){
    
    
		alert(this.name);
	}

}


fun.call(obj,2,3);
fun.call(obj,[2,3]);

call()メソッドは、オブジェクトの後に実際のパラメーターを順番に渡すことができ
ます。apply()メソッドは、実際のパラメーターを配列にカプセル化し、それらを均一に渡す必要があります。

おすすめ

転載: blog.csdn.net/sinat_33940108/article/details/111994258