ホームページ >ウェブフロントエンド >jsチュートリアル >call() メソッドと apply() メソッドの違いは何ですか?

call() メソッドと apply() メソッドの違いは何ですか?

清浅
清浅オリジナル
2018-11-14 17:48:523458ブラウズ

この記事では主に JavaScript における call() メソッドと apply() メソッドの使用法とそれらの違いについて紹介します。これは一定の参考価値があり、

In JavaScript We に役立つことを願っています。この 2 つのメソッドは、call() メソッドと apply() メソッドです。次に、その使用法と違いについて説明します。

call() メソッド

call() メソッドの最初のパラメータは this のポイントを変更するもので、2 番目のパラメータは渡す必要があるパラメータです

<script>		
function Person(name, age,height){
	this.name=name;
	this.age=age;
	this.height=height;
}
function Student(name,age,height,sex,grade){
	Person.call(this,name,age,height);//将Person的参数传给Student
	this.sex=sex;
	this.grade=grade;}
 var student=new Student("张三",18,180,"男",88);
	</script>
运行结果:


Image 20.jpg

apply() メソッド

apply() メソッドはこのポインタを変更します。 2 番目の値は実際のパラメータのみを渡すことができ、それは配列です

<script>	
function Person(name, age,height){
	this.name=name;
	this.age=age;
	this.height=height;
}
function Student(name,age,height,sex,grade){
	Person.apply(this,[name,age,height]);//注意这儿传递的是数组
	this.sex=sex;
	this.grade=grade;}
 var student= new Student("张三",18,180,"男",88);
	</script>	
运行结果:

Image 20.jpg

call() メソッドと apply() メソッドの違い

call() メソッドの 2 番目の値は複数のパラメータを渡すことができ、実際のパラメータは仮パラメータの数と順序に従って渡す必要があります。 # apply() メソッドの 2 番目の値のみ。渡すには配列でなければなりません。そのため、apply() メソッドは配列である仮パラメータの使用に適しており、call() メソッドは連続パラメータを渡すのに適しています。

要約: 上記がこの記事の全内容です。応募の際は方法の選択に注意してください。

以上がcall() メソッドと apply() メソッドの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。