2016-06-24 7 views
0

一般的な構成引数をさまざまな関数に適用するラッパー関数を作成したいと思いますが、fn関数にvar configを追加する方法がわかりません。ここに私のコードは、これまでのところです:一般的な設定を別の関数に渡すためのラッパー関数

function addConfig(val, fn) { 
 
    var config = { value: val }; 
 
    
 
    return function() { 
 
    var args = Array.prototype.slice.call(arguments); 
 
    args.push(config); 
 
    return fn.apply(this, args) 
 
    } 
 
} 
 

 
function test(id, name, config) { 
 
    console.log(arguments); 
 
} 
 

 
addConfig('a', test(1, 'bill')); // Does not log out config object

答えて

1

あなたの括弧は間違っています。

function addConfig(val, fn) { 
 
    var config = { value: val }; 
 
    return function() { 
 
    var args = Array.prototype.slice.call(arguments); 
 
    args.push(config); 
 
    return fn.apply(this, args) 
 
    } 
 
} 
 

 
function test(id, name, config) { 
 
    console.log(arguments); 
 
} 
 

 
addConfig('a', test)(1, 'bill');

:あなたは addConfigの代わり testによって返された関数を呼び出す必要があります
関連する問題