请使用PetShop.prototype.setPetProperty = function (id, property, value)找到 id 为 petID 的对象,并将该对象的 property 属性值设置为 value并调用
时间: 2024-09-30 12:10:48 浏览: 33
petshop4.0详解.pdf
这是一个JavaScript的例子,它展示了如何通过原型链的方式在`PetShop`对象中找到特定宠物(id为`petID`),然后修改其指定属性(`property`)的值。假设我们有一个`PetShop`类,它包含了宠物列表,并且每个宠物都有一个`setPetProperty`方法:
```javascript
// 定义 PetShop 类
class PetShop {
constructor() {
this.pets = []; // 存放宠物的数组
}
// 设置宠物属性的方法
setPetProperty(petID, property, value) {
const pet = this.findPetById(petID); // 首先查找宠物
if (pet) { // 如果找到了宠物
pet[property] = value; // 将给定的属性值赋给该宠物
} else {
console.log("宠物未找到"); // 如果没找到,打印错误信息
}
}
// 查找宠物的方法
findPetById(id) {
return this.pets.find(p => p.id === id);
}
}
// 创建 PetShop 实例
const myPetShop = new PetShop();
myPetShop.pets.push({ id: 1, name: "小猫", age: 2 }); // 添加一个宠物到商店
// 调用方法设置某个宠物的属性
myPetShop.setPetProperty(1, 'age', 3);
```
在这个例子中,你可以通过`myPetShop.setPetProperty(1, 'age', 3)`来更新id为1的宠物的年龄。如果找不到对应的宠物,函数会返回`undefined`并显示错误消息。
阅读全文