Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptでbind()関数を適用する方法は?


bind()

apply()とは異なり を与える関数 出力として、 Bind() 関数は関数になります コードを実行する機能があります。

次のコードを観察すると、 apply() 関数はになりました bind()に対して出力 関数は関数になりました 出力。

<html>
<body>
<script>
   var obj = {num : 10};
   var mul = function(i, j, k){
      return this.num * i*j*k;
   }
   var array = [6,3,4];
   document.write(mul.bind(obj,array));
   document.write("</br>");
   document.write(mul.apply(obj,array));
</script>
</body>
</html>

出力

function () { [native code] }
720


一般に、引数を関数に渡す場合、 出力が表示されます。ここでも同じように、関数 実行されます 出力として、その関数に引数を渡そうとすると、 出力が実行されます。

次の例では、出力関数が「round」という変数に割り当てられ、を取得するために引数がその変数に渡されました。 関数の代わりに出力 出力。

<html>
<body>
<script>
   var obj = {num : 10};
   var mul = function(i, j, k){
      return this.num * i*j*k;
   }
   var array = [6,3,4]
   var round = mul.bind(obj);
   document.write(round(6,3,4));
   document.write("</br>");
   document.write(mul.apply(obj,array));
</script>
</body>
</html>

出力

720
720

  1. JavaScript関数の適用

    JavaScriptのapply()関数を使用すると、異なるオブジェクトから同じメソッドを使用できます。ここでは、パラメータが配列として渡されます。 以下は、JavaScript関数apply()-のコードです。 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scal

  2. JavaScriptでいくつかの配列のすべての組み合わせを取得するにはどうすればよいですか?

    独自の関数を使用して、すべての組み合わせを取得できます。 例 以下はコードです- function combination(values) {    function * combinationRepeat(size, v) {       if (size)          for (var chr of values)       yield * combinationRepeat(size - 1, v + chr);     &nbs