Error: function is not defined when calling a function returned by another function
Error: function is not defined when calling a function returned by another function
我正在尝试编写一个 return 另一个函数的函数。我的目标是编写一个函数,它接受一个对象和 return 另一个函数 "search"。当我用一个键调用搜索函数时,我想 return 来自第一个函数中给定的对象的那个键的值。
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)
时,我收到未定义搜索的错误。如何在仍然引用我要搜索的对象的同时使用键调用 'inside' 函数?
考虑试试这个:
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
我正在尝试编写一个 return 另一个函数的函数。我的目标是编写一个函数,它接受一个对象和 return 另一个函数 "search"。当我用一个键调用搜索函数时,我想 return 来自第一个函数中给定的对象的那个键的值。
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)
时,我收到未定义搜索的错误。如何在仍然引用我要搜索的对象的同时使用键调用 'inside' 函数?
考虑试试这个:
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