如果这是一个非常愚蠢的问题,我很抱歉。我对此进行了搜索,但找不到明确的答案。网上的教程中有一个工厂函数,如下所示。我基本上了解“ This”在其他地方如何工作,但我无法完全理解“ This”在这里如何帮助我们。即使我删除“”,代码仍然有效This。我也不明白为什么删除“”return color;会破坏“ color.rgb()”。
function makeColor(r, g, b) {
const color = {};
color.r = r;
color.g = g;
color.b = b;
color.rgb = function () {
//const { r, g, b } = this;
return `rgb(${r}, ${g}, ${b})`;
};
return color;
}
const newColor = makeColor(50, 100, 150);
newColor.rgb();
console.log(newColor); // {r: 50, g: 100, b: 150, rgb: ƒ}
console.log(newColor.rgb()); //rgb(50, 100, 150)
哔哔one
一只名叫tom的猫
温温酱
相关分类