在函数中调用函数表达式。。。JavaScript
我在理解为什么函数表达式(在另一个函数中)仅调用以下源代码中的警报命令时遇到问题 请用初学者的语言向我解释。向每一位做出贡献的人表示感谢在函数中调用函数表达式。。。JavaScript,javascript,function,expression,Javascript,Function,Expression,我在理解为什么函数表达式(在另一个函数中)仅调用以下源代码中的警报命令时遇到问题 请用初学者的语言向我解释。向每一位做出贡献的人表示感谢 var parkRides = [ ["Birch Bumpers", 40], ["Pines Plunge", 55], ["Cedar Coaster", 20], ["Ferris Wheel of First", 90] ]; var fastPassQueue = ["Cedar Coaster", "Pines Plunge",
var parkRides = [ ["Birch Bumpers", 40], ["Pines Plunge", 55], ["Cedar Coaster", 20], ["Ferris Wheel of First", 90] ];
var fastPassQueue = ["Cedar Coaster", "Pines Plunge", "Birch Bumpers", "Pines Plunge"];
function buildTicket (allRides, passRides, pick)
{
if(passRides[0] == pick)
{
var pass = passRides.shift();
// Why does the alert command have to be put inside a function expression? Why do we even need a function expression?
return function()
{
alert("Quick, you have a fast pass to " + pass);
};
}
else
{
for (var i = 0; i < allRides.length; i++)
{
if(allRides[i][0] === pick)
{
// Why is this function being declared again?
return function ()
{
alert("A ticket is printing for " + pick + "!\n" + "Your wait time is about " + allRides[i][1] + " minutes.");
};
}
}
}
}
var parkRides=[[“桦树保险杠”,40],“松树跳水”,55],“雪松过山车”,20],“第一摩天轮”,90];
var fastPassQueue=[“雪松过山车”、“松树跳水”、“桦树保险杠”、“松树跳水”];
功能构建票证(所有乘车、乘车、提货)
{
if(通行证[0]==拾取)
{
var pass=passRides.shift();
//为什么警报命令必须放在函数表达式中?为什么我们甚至需要函数表达式?
返回函数()
{
警报(“快速,您有一个快速通行证到”+通行证);
};
}
其他的
{
对于(var i=0;i
函数buildTicket
返回一个函数,当您调用该函数时,它将提示结果。您可以这样使用它:
// call the function
var f = buildTicket(x, y, z);
// display the result
f();
函数
buildTicket
返回一个函数,当您调用该函数时,它将提示结果。您可以这样使用它:
// call the function
var f = buildTicket(x, y, z);
// display the result
f();
函数
buildTicket
返回一个函数,当您调用该函数时,它将提示结果。您可以这样使用它:
// call the function
var f = buildTicket(x, y, z);
// display the result
f();
函数
buildTicket
返回一个函数,当您调用该函数时,它将提示结果。您可以这样使用它:
// call the function
var f = buildTicket(x, y, z);
// display the result
f();
你在问什么?在第一种情况下,变量
i
未定义,因此它将返回一个错误…哎呀!我现在编辑了源代码。请看一看,伊恩。这意味着他想返回一个函数,其中有一个警报命令。对于那些有用的东西,我不能说,因为我看不到上下文。如果你不把它放在函数中,区别在于它会通过执行buildticket函数直接发出警报,就像它在这里不会发出警报一样,它只会返回一个函数来利用Thorsten的注释,以便真正掌握这一点,您需要了解JavaScript中的函数可以返回另一个函数,该函数可以访问创建它的函数中的数据。这一概念被称为“终结”buildTicket
用于创建函数,这些函数会触发包含循环中每个项目特定信息的警报消息。关键是函数表达式不会被调用,而是return
ed。我们不知道为什么需要这样做。您在问什么?在第一种情况下,变量i
未定义,因此它将返回一个错误…哎呀!我现在编辑了源代码。请看一看,伊恩。这意味着他想返回一个函数,其中有一个警报命令。对于那些有用的东西,我不能说,因为我看不到上下文。如果你不把它放在函数中,区别在于它会通过执行buildticket函数直接发出警报,就像它在这里不会发出警报一样,它只会返回一个函数来利用Thorsten的注释,以便真正掌握这一点,您需要了解JavaScript中的函数可以返回另一个函数,该函数可以访问创建它的函数中的数据。这一概念被称为“终结”buildTicket
用于创建函数,这些函数会触发包含循环中每个项目特定信息的警报消息。关键是函数表达式不会被调用,而是return
ed。我们不知道为什么需要这样做。您在问什么?在第一种情况下,变量i
未定义,因此它将返回一个错误…哎呀!我现在编辑了源代码。请看一看,伊恩。这意味着他想返回一个函数,其中有一个警报命令。对于那些有用的东西,我不能说,因为我看不到上下文。如果你不把它放在函数中,区别在于它会通过执行buildticket函数直接发出警报,就像它在这里不会发出警报一样,它只会返回一个函数来利用Thorsten的注释,以便真正掌握这一点,您需要了解JavaScript中的函数可以返回另一个函数,该函数可以访问创建它的函数中的数据。这一概念被称为“终结”buildTicket
用于创建函数,这些函数会触发包含循环中每个项目特定信息的警报消息。关键是函数表达式不会被调用,而是return
ed。我们不知道为什么需要这样做。您在问什么?在第一种情况下,变量i
未定义,因此它将返回一个错误…哎呀!我现在编辑了源代码。请看一看,伊恩。这意味着他想返回一个函数,其中有一个警报命令。对于那些有用的东西,我不能说,因为我看不到上下文。如果你不把它放在函数中,区别在于它会通过执行buildticket函数直接发出警报,就像它在这里不会发出警报一样,它只会返回一个函数来利用Thorsten的注释,以便真正掌握这一点,您需要了解JavaScript中的函数可以返回另一个函数,该函数可以访问创建它的函数中的数据。这一概念被称为“终结”buildTicket
用于创建包含以下信息的火灾警报消息的函数