2017-12-30 17 views
1

私はJavascriptの完全な初心者ですので、私はその能力を知りません。どんな助けでも大歓迎です!別の関数から渡された引数を使用して関数に名前を付けることはできますか?

タイトルからわかるように、私は関数の引数に関数内の別の関数の名前を渡そうとしています。以下のメソッドは明らかな理由で機能しませんが、私はを実行していることを伝えていると思います。関数名は、私が取り組んでいるプロジェクトにとって非常に限定的である必要があります。

function mainFunc(param1) { 
 
    function param1() {} 
 
}

ありがとう!

編集:自分の仕事でペーパーレスにするために使用するソフトウェアは、javascriptスクリプトエンジンを使用しています。ためには、私のようなシンプルなもの行うために:セクションAのチェックボックスのうちの少なくとも一方がチェックされている場合、あなたは私が書かなければならないでしょう部B

に少なくとも1つのチェックボックスをチェックする必要があり

を関数がソフトウェアの動作のためにフォームの各チェックボックスフィールドごとに機能するため、関数名はGUIを使ってチェックボックスに割り当てた名前に固有のものでなければなりません。私は特定の名前で別の関数を記述する関数を記述し、その関数を呼び出すことを望んでいました。

function mainFunc(funcName) { 
 
    function 'funcName'() { 
 
    //do stuff; 
 
    } 
 
    
 
    'funcName'() 
 

 
} 
 

 

 
mainFunc('Checkbox1')

多分これは私が何をしようとしている上で、もう少し明確にするのに役立ちます。周りの最初の時間が明確でないことを申し訳ありません。

+3

機能下記の例のようなオブジェクト。そして、他の関数の中にネストされたローカル関数は、他のどこでも見ることができません。あなたが質問で説明したことをやりたいと思う理由はありません。あなたは今あなたが達成したいことが何であるか話し合うことができますか?さもなければ、これまでに投稿されたもののような答えを得るだけで、役に立つアイデアがありますが、あなたの実際のゴールには関係ないかもしれません。 –

答えて

0

あなたは1つのオプション

function mainFunc(param1,param2) { 
 
    return { 
 
     [param1]:function() { 
 
      console.log(" I am function from " + param1) 
 
     }, 
 
     [param2] : function() { 
 
      console.log("I am function from " + param2) ; 
 
    } 
 
    } 
 
} 
 
let hello = 'hello' ; 
 
let greet = 'anything' ; 
 
let functions = mainFunc(hello,greet); 
 
functions['hello'](); 
 
functions['anything'](); 
 
functions[hello](); 
 
functions[greet]();

以下の例で mainFun外観に渡されたパラメータを使用して、指定された機能を持つオブジェクトを返すことです、あなたの問題を解決するために多くのオプション

を持っています

mainFunに多くのパラメータがある場合は、t彼の引数は、その名前が何であるかを気にしません

function mainFun(par1) { 
 
    let myObj = {}; 
 
    for(let i = 0 ; i<arguments.length;i++){ 
 
     console.log(arguments[i]); 
 
     myObj[arguments[i]] =()=> { 
 
      console.log('You call me from ' + arguments[i]); 
 
     } 
 
    } 
 
    return myObj ; 
 
} 
 
let functions = mainFun('a','b','c','d'); 
 
functions['a'](); 
 
functions['b'](); 
 
functions['c'](); 
 
functions['d']();

関連する問題