重複の可能性:
JavaScript の「this」キーワード
パラメータ firstName、lastName、email、telephone を持つ add という関数を作成しました。この新しい関数の意図は、ボブとメアリーのような新しい連絡先オブジェクトを作成することです。
this
私の質問は、キーワードの文脈と使用に関するものです。this
新しく作成されたオブジェクトのプロパティ値を、渡された適切な追加関数パラメーターに設定this
できるようにします。コード内で何ができるようになるとしたら、その目的は何ですか?また、この一言で何ができるでしょうか? 複数のオブジェクトを作成できるように、関数パラメーターを介して任意の文字列を渡すことができる機能を有効にすることですか?
私はthis
最近、このキーワードを使用して、オブジェクトごとに個別の関数を作成することなく、複数のオブジェクトで同じ関数を使用できるようにしました。たとえば、オブジェクトごとに個別の age 変更関数ではなく、すべてのオブジェクトの age プロパティを設定できる関数です。
次に、データが連絡先配列の適切な位置に挿入される方法についての私の理解が正しいかどうかを確認したかったのです。最後に、ここで this キーワードのコンテキストについてお尋ねしてもよろしいですか?
contacts[contacts.length] = this;
これは次と同じです:
contacts[2] = this;
私の質問を最も簡潔な方法で表現していない場合は、お詫び申し上げます。以下の私のコードを見つけてください。this
このコーディング状況のキーワードの回答または説明は、非常に高く評価されます。
var bob = {
firstName: "Bob",
lastName: "Jones",
phoneNumber: "(650) 777 - 7777",
email: "bob.jones@example.com"
};
var mary = {
firstName: "Mary",
lastName: "Johnson",
phoneNumber: "(650) 888 - 8888",
email: "mary.johnson@example.com"
};
var contacts = [bob, mary];
function add(firstName, lastName, email, telephone){
this.firstName = firstName;
this.lastName = lastName;
this.email = email;
this.telephone = telephone;
contacts[contacts.length] = this
}
var response1 = prompt("First Name?");
var response2 = prompt("Last Name?");
var response3 = prompt("Email?");
var response4 = prompt("Telephone No.?");
add(response1, response2, response3, response4);