1

私は JavaScript に非常に慣れていないので、ご容赦ください。

たとえば、関数をパラメーターとして JavaScript の別の関数に渡すかどうか疑問に思っていました (免責事項: コードは 100% 正しいとは限りませんが、アイデアを得る必要があります!):

function(param1, param2) {

   ....
   // Do something with param 1
   param1 += 10;
   ....

   // Param 2 is a function, so call it
   param2();

   .....
}

これは潜在的なセキュリティ リスクですか、それとも JavaScript での一般的なプログラミング方法ですか?

ありがとう。

4

2 に答える 2

2

JavaScript では、関数は第一級市民です。関数をvarに割り当てたり、関数argumentsを他の関数として渡したりreturn、別の関数の結果として関数を渡したりできます。

JavaScript には、関数を引数として受け入れるメソッドが多数あります (コールバック関数とも呼ばれます)。そのような例の 1 つが forEach です。

Array.prototype.forEach();

var elements = [42, 33, 45, 5];

elements.forEach(/*anonymous function*/function(element, index) {
// do something with element
});

elements.forEach(callback);

function callback(element, index) {
//do something with element
}
于 2013-05-21T09:29:03.537 に答える
1

js では非常に一般的であると言えます。apply と call のように使用法を確認できます。

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Function/apply

call と apply はどう違いますか?

ただし、関数 (param2) が信頼できないユーザーまたはサード パーティから渡された場合 (たとえば、ウィジェットのようなサーバーをサード パーティに提供している場合)、セキュリティ リスクが生じる可能性があります。

于 2013-05-21T09:38:50.163 に答える