gpt4 book ai didi

javascript - 错误: function is not defined when calling a function returned by another function

转载 作者:行者123 更新时间:2023-12-03 03:57:11 26 4
gpt4 key购买 nike

我正在尝试编写一个返回另一个函数的函数。我的目标是编写一个函数,它接受一个对象并返回另一个函数“search”。当我使用键调用搜索函数时,我想从第一个函数中给定的对象返回该键的值。

propertyOf = function(object) {
return search = function (key) {
for (key in object)
if (key === object.property){
return object[property]
}
}
}

假设我有一个对象:

var me = {name: "Bob", age: 87}

如果我调用 propertyOf (me) ,我会得到 [Function: search] 作为结果。当我调用 search (age) 时,出现搜索未定义的错误。如何使用键调用“内部”函数,同时仍然引用我要搜索的对象?

最佳答案

考虑尝试这个:

let bob = {
name: 'Bob',
age: 87
},
searchBob;

propertyOf = object => {
return propName => {
for (let key in object) {
if(key === propName) return object[key]
}
}
}

searchBob = propertyOf(bob);

// Call it like this:

console.log(searchBob('age')); // 87

关于javascript - 错误: function is not defined when calling a function returned by another function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44892492/

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