0

この関数が有効な JavaScript 式またはステートメントの文字列を取得し、式を評価するか、ステートメントを実行することは知っていますが、単にスクリプトにコードを記述するのではなく、実行のためにコードを関数に渡す必要があるのはなぜですか?

4

3 に答える 3

2

コードが動的に構築される場合や、現在のコンテキストで評価する必要がある JSON のようなものである場合などがあります。そうすることは、必ずしも良いことでも必要なことでもありません。別の議論です。

于 2012-06-04T14:35:48.510 に答える
2

動的変数を作成したり、json データを解析したりする必要がある状況によって異なります。いずれにせよ、使用しないことを強くお勧めします。

詳細については、次を参照してください。

それを避けるには、次を参照してください。

于 2012-06-04T14:36:25.213 に答える
1

関数があるとしましょう: makeCheckbox()makeRadio()およびmakeSelect()(理論的には)。ユーザーのアクティビティ (メニュー クリックなど) によって関数を呼び出したい。などで作成できますがif、次のようなものを作成することもできます。else ifswitcheval

eval('make'+userChoose.charAt(0).toUpperCase()+string.slice(1)+'()');

whereuserChooseはオプションの 1 つです: radiocheckboxまたは最初の文字select最初に大文字makeになり、次に(前) と(後) に連結さ()れ、最後に関数の 1 つを呼び出します。

大規模なプロジェクトでは、「背後に隠れている」ため、機能する呼び出しを単純に見つけることができないため、これは良い方法ではありませんがeval、それが唯一の方法である場合もあります。

于 2012-06-04T14:47:24.537 に答える