gpt4 book ai didi

javascript - 使用 Object.Create 将函数添加到 JavaScript 对象

转载 作者:搜寻专家 更新时间:2023-11-01 05:13:28 24 4
gpt4 key购买 nike

我正在尝试在 JavaScript 中使用 Object.Create。我目前有以下代码:

var vehicle = {
getModel: function () {
console.log( "The model of this vehicle is.." + this.model );
}
};

var car = Object.create(vehicle, {
"id": {
value: 9,
},
"model": {
value: "Ford",
}
});

var van = Object.create(vehicle, {
"id": {
value: 10,
},
"model": {
value: "Big Van",
enumerable: true
},
"make": {
value: "Warrior",
},
"getMake": function () {
console.log( "The make of this vehicle is.." + this.make );
}
});

我尝试为 getMake 添加函数到 van,但出现错误:

TypeError: Property 'getMake' of object # is not a function when I call:

范.getMake();

这可能吗?你是怎么做到的?

最佳答案

默认情况下,以这种方式创建的属性不可枚举。这可能会导致您的问题。

试试这个(未经测试):

"getMake": { value: function () {
console.log( "The make of this vehicle is.." + this.make )
}, enumerable: true };

编辑 看起来这是可行的,因为我们传递的是对象而不仅仅是值。可枚举是不必要的。

关于javascript - 使用 Object.Create 将函数添加到 JavaScript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13565316/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com