我试图编写一个返回另一个函数的函数。我的目标是编写一个函数,它接受一个对象并返回另一个函数“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)
,我得到[功能:搜索]作为结果。当我打电话给search (age)
时,我得到了没有定义搜索的错误。如何在使用某个键的情况下调用'inside'函数,同时仍然引用我想要搜索的对象?
http://jsbin.com/tubixusevi/1/edit?js,console - 我无法重现您所描述的问题。尝试提供一个真正的[mcve]。 – Quentin
除此之外:如果您要忽略返回值并仅使用函数创建的全局函数,那么'propertyOf'中没有任何返回值。 – Quentin
*“key = object.property”*应该是** key == object.property ** – derloopkat