JavaScript の call および apply_javascript テクニックを理解する

WBOY
リリース: 2016-05-16 15:25:20
オリジナル
1312 人が閲覧しました

call メソッドは、指定された this 値と指定されたいくつかのパラメーター値を使用して関数またはメソッドを呼び出します。

注: この関数の構文は apply() メソッドの構文とほぼ同じですが、唯一の違いは apply() メソッドがパラメーター配列を受け入れることです。呼び出し () メソッドはパラメータのリストを受け取ります。

これら 2 つのメソッドの概念を理解した後、それらのアプリケーションを段階的に理解してみましょう。

メソッド内の this のポインタを変更します
まずは次の例を見てみましょう

var name = "编程的人";
var age = 1;
var person = {
name:"公众号:bianchengderen",
age:20
}
function say(){
console.log("我叫:"+this.name+",年龄:"+this.age)
}
say();// 我叫: 编程的人,年龄: 1
say.call(person);//年龄:20

ログイン後にコピー

これら 2 つの呼び出しの実行メソッドは異なり、その結果も異なります。違いは、say メソッドの this が異なるオブジェクトを指しており、呼び出しモードで実行されることです。 Say メソッドでこれを person オブジェクトにポイントします。
これはちょっと他人のふりをしているような気がしませんか? もちろん、自分に何ができるかをもっと考えてみましょう。

継承メカニズムの実装
継承、これは高度なオブジェクト指向の機能です。呼び出しを使用すると、JAVASCRIPT を使用してこの機能を実現できます。
次の例を見る前に、上の例をよく理解しておく必要があります。

function Person(){
this.name = "编程的人";
this.age = 20;
}
function Student(){
Person.call(this);
this.school = "地球";
}
var student = new Student();
//下面打印出来: 编程的人,20,地球
console.log(student.name,student.age,student.school);

ログイン後にコピー

この例では、Student 関数は person.call(this) によって実装される person の名前と年齢の属性を継承します。したがって、Student が person の特性を持っていることを理解するのは難しくありません。 this.school.

など、独自の個性を持っています。

ここでは、渡すパラメーターを追加する必要はありません。コードを試して、それがどのように機能するかを確認してください。

まずこれら 2 つの例について話してから、詳しく調べてみましょう。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート