在销售价格中,我希望通过将MRP和折扣作为参数传递给函数get_selling_price来获得1000-20%,即800,但我的代码给出了错误get_selling_price未定义get_selling_price。请帮我修复它,让我知道为什么会发生这种情况,因为我在使用它之前声明了这个函数。
let Sock = {
brand: 'JS',
color: 'Red',
size: "extra-extra small",
MRP: 1000,
discount: 20,
get_selling_price: (MRP, discount)=>{return MRP-((MRP*discount)/100)},
selling_price: get_selling_price(this.MRP, this.discount),
buy: ()=>console.log(`You are buying ${this.brand}`),
sell: function(){console.log(`You are selling ${this.brand}`)},
}
console.log(Sock);
在JavaScript中,如果您想从对象方法访问存储在对象内部的信息,您需要使用常规的函数()代替箭头函数. 在您的示例中,要访问get_selling_price内部函数selling_price对于Sock对象,您需要将selling_price定义为常规函数,并使用this访问该对象的另一个函数/属性。关键字(见下面的示例)。
let Sock = {
brand: "JS",
color: "Red",
size: "extra-extra small",
MRP: 1000,
discount: 20,
get_selling_price: (MRP, discount) => {
return MRP - (MRP * discount) / 100;
},
selling_price: function () {
return this.get_selling_price(this.MRP, this.discount);
},
buy: () => console.log(`You are buying ${this.brand}`),
sell: function () {
console.log(`You are selling ${this.brand}`);
},
};
另外,我建议你在JavaScript中使用这个关键字,你可以参考这个文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this