JavaScript:如何解释和理解参数似乎没有价值的函数?
开始学习JavaScript,并开始阅读《雄辩的JavaScript》一书。我在理解JavaScript:如何解释和理解参数似乎没有价值的函数?,javascript,parameters,nested,Javascript,Parameters,Nested,开始学习JavaScript,并开始阅读《雄辩的JavaScript》一书。我在理解hummus函数中的因子参数时有点困难。有人能帮我理解因子的起始值是多少吗?我可以看到成分函数的值,但似乎无法理解因子的值。谢谢你的帮助 const hummus = function(factor) { const ingredient = function(amount, unit, name) { let ingredientAmount = amount * factor; if (
hummus函数
中的因子
参数时有点困难。有人能帮我理解因子的起始值是多少吗?我可以看到成分函数的值
,但似乎无法理解因子
的值。谢谢你的帮助
const hummus = function(factor) {
const ingredient = function(amount, unit, name) {
let ingredientAmount = amount * factor;
if (ingredientAmount > 1) {
unit += "s";
}
console.log(`${ingredientAmount} ${unit} ${name}`);
};
ingredient(1, "can", "chickpeas");
ingredient(0.25, "cup", "tahini");
ingredient(0.25, "cup", "lemon juice");
ingredient(1, "clove", "garlic");
ingredient(2, "tablespoon", "olive oil");
ingredient(0.5, "teaspoon", "cumin");
};
您的示例中没有显示因子的值。某个地方需要调用,比如var x=hummus(2)
或诸如此类的代码,这样您就可以知道在该实例中传递给factor的是什么。在代码示例中,一个函数被分配给常量成分
const ingredient = function(amount, unit, name) {
let ingredientAmount = amount * factor;
if (ingredientAmount > 1) {
unit += "s";
}
console.log(`${ingredientAmount} ${unit} ${name}`);
};
一旦你有了一个函数,你就可以调用它,它是成分(1,“can”,“chickpeas”)代码>
类似地,您需要调用hummus
,可能类似于hummus(0.3)
或hummus(1)
传递一个值
您的代码不包含对hummus的调用,factor的值将根据您在调用时传递给它的值进行设置
如果调用hummus
时像hummus()
一样没有值,则在这种情况下,factor将设置为undefined
此处不显示factor的值,但您输入的任何值都表示您计划生成的hummus量。例如,hummus(2)
将是两批hummus
然后,内部函数配料
将根据批次数量确定所需的每种配料的数量,如果配料数量(根据数量乘以批次数量)大于1,它将在字符串中添加一个“s”使其成为复数
书中的这个例子让我非常困惑的是这里引入了字符串插值:console.log(${ingredientAmount}${unit}${name}
)。在这里介绍之前,本书未对此进行讨论。对于代码识别字符串插值而言,反勾号(而不是单引号或双引号)非常重要
上的hummus
函数的输出示例帮助我更好地理解它
就像字符串插值一样。如果不知道在哪里调用了hummus
,就不可能说hummus是一个函数。它采用参数“factor”。与JavaScript中的C语言、C++语言或java语言:<代码>不同,函数是一流的对象,因为它们可以具有与任何其他对象一样的属性和方法。它们与其他对象的区别在于可以调用函数。简言之,它们是函数对象。
:问:这有帮助吗?