我是新来的JavaScript和试图完成什么应该是一个简单的任务,让用户与简单的联系人数组进行交互,我努力寻找正确的语法来循环选择变量,直到用户输入0退出,我已经尝试了while循环和,但只是不知道究竟在何处我应该把循环和建议将不胜感激与开关的Javascript查询
var Contact = {
//Initialise the contact
init: function(firstName, lastName) {
this.firstName = firstName;
this.lastName = lastName;
},
//Display the contact details
describe: function() {
var description = "Last name : " + this.lastName + ", first name: " + this.firstName;
return description
}
};
var contact1 = Object.create(Contact);
contact1.init("John", "Smith");
var contact2 = Object.create(Contact);
contact2.init("Jane", "Doe");
var contacts = [];
contacts.push(contact1);
contacts.push(contact2);
console.log("Welcome to your contacts manager!");
console.log("1: List contacts");
console.log("2: Add a contact");
console.log("0: Quit");
var choice = "";
choice = prompt("Enter 1, 2 or 0");
//while (choice !== "0") {
switch (choice) {
case "1":
console.log("Here's the list of all your contacts:");
contacts.forEach(function (contact) {
console.log(contact.describe());
});
console.log("1: List contacts");
console.log("2: Add a contact");
console.log("0: Quit");
break;
case "2":
contacts.push(prompt("Enter new name: "));
console.log("Contact added");
console.log("1: List contacts");
console.log("2: Add a contact");
console.log("0: Quit");
break;
case "0":
console.log("Goodbye");
console.log("1: List contacts");
console.log("2: Add a contact");
console.log("0: Quit");
break;
default:
console.log("Invalid Entry");
console.log("1: List contacts");
console.log("2: Add a contact");
console.log("0: Quit");
break;
}
我可以问你一个关于这个while循环的问题,它通过第一次工作正常,但如果我使用push添加联系人,然后尝试列出数组失败,因为它说contact.describe不再是一个功能? –
是的,所以它是在你的代码中,你尝试初始化2个值,并在输入你的名字作为单一值,没有问题我已经更新你的代码,请现在尝试请参阅更新的部分。 –
谢谢你,现在有道理 –