gpt4 book ai didi

javascript - JS 函数返回函数供以后使用 - 参数未定义

转载 作者:行者123 更新时间:2023-11-30 08:32:00 26 4
gpt4 key购买 nike

我正在尝试创建一个函数,然后可以根据输入返回许多函数。这是我面临的问题的示例。

var giveFunction = function(text) {
return function(text) {
console.log(text)
}
}
var test = giveFunction('this is a test');
test()

最后运行 test() 会打印出 undefined 而不是“这是一个测试”。有什么办法可以解决这个问题吗?

最佳答案

内部函数不应包含任何参数,

var giveFunction = function(text) {
return function() {
console.log(text)
}
}

让它创建一个闭包。如果它有一个参数,那么将在执行期间读取该参数,并且 undefined 将被打印,因为您没有使用任何参数调用该函数。

如果你想让你的代码正常工作,那么你必须为此使用bind

var giveFunction = function(text) {
return function(text) {
console.log(text)
}.bind(null, text)
}
var test = giveFunction('this is a test');
test(); //'this is a test'

关于javascript - JS 函数返回函数供以后使用 - 参数未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36316329/

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