可能重复:
JavaScript“this”关键字
我编写了一个名为 add 的函数,其参数为 firstName、lastName 和 email、telephone。在这个新函数中,目的是创建一个新的联系人对象,如 bob 和 mary。
我的问题是关于this
关键字的上下文和使用。this
允许我将新创建的对象的属性值设置为传入的适当的添加函数参数。如果this
允许我在代码中执行此操作的目的是什么?这个词是什么?是否启用允许通过函数参数传递任何字符串以便可以创建多个对象的功能?
我this
最近使用该关键字使我能够在多个对象上使用相同的函数,而不必为每个对象编写单独的函数。例如,可以为所有对象设置年龄属性的函数,而不是每个对象单独的年龄更改函数。
其次,我想检查一下我对将数据插入到联系人数组中适当位置的方式的理解是否正确。最后,请问这里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);