別の関数を返す関数を記述しようとしています。私の目標は、オブジェクトを受け取り、別の関数 "search"を返す関数を書くことです。検索関数をキーで呼び出すと、そのキーの値を最初の関数で指定されたオブジェクトから戻したいと考えています。結果として:私は[検索機能]を取得し、私はpropertyOf (me)
を呼び出す場合エラー:別の関数から返された関数を呼び出すときに、関数が定義されていません。
var me = {name: "Bob", age: 87}
:
propertyOf = function(object) {
return search = function (key) {
for (key in object)
if (key === object.property){
return object[property]
}
}
}
は、私は、オブジェクトを持っていると言います。
search (age)
に電話すると、検索が定義されていないというエラーが表示されます。検索したいオブジェクトを参照しながら、キーを使って 'inside'関数を呼び出すにはどうすればよいですか?
http://jsbin.com/tubixusevi/1/edit?js,console - 私はあなたが記述問題を再現することはできません。本当の[mcve]を提供してください。 – Quentin
脇に:戻り値を無視し、関数で作成されたグローバルを使用する場合、 'propertyOf'には何も返されません。 – Quentin
* "key = object.property" *は** key == object.property ** – derloopkat