問題タブ [function-binding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
91 参照

javascript - Javascript: プロトタイプに言及せずに Function.prototype.call にアクセスできるのはなぜですか?

ここに私の質問を説明するためのスニペットがあります:

Function.call動作しますが、String.toUpperCase動作しません。代わりに、 と書かなければなりませんString.prototype.toUpperCase

0 投票する
2 に答える
109 参照

javascript - 変数としてのクラスメソッドのコンテキスト

例としてクラスがあります:

等々。

質問: にコンテキストをインポートする方法はfindByIndex?

たとえばfindByIndex、別のクラスで関数として使用する必要があります。である必要があることは理解していますbindが、クラスでどのように使用するのですか?

///////////////////////ADD////////////////// これはメソッドです

これは、メソッド iterator を使用する別のクラスです。

ご覧のとおり、2 番目のクラスにはメソッド iterator がありません。しかし、最後に owner(with context(this - L.Book)) のようなイテレータを使用する必要があります

0 投票する
2 に答える
4483 参照

javascript - バインディングとイベント ハンドラー - イベント オブジェクトを渡す

次のようにイベント ハンドラーをバインドするサンプル コードがあります。

イベント ハンドラーが (h1要素をクリックして) トリガーされると、期待どおり、出力はeventオブジェクトになります。

次のようにイベントハンドラーをバインドすると:

同じ結果が得られます。

ただし、次のようにバインドすると:

1の後の最初のパラメーターを取得しますh1。いずれの場合も、 の値thisは に正しく設定されてh1いますが、最後のケースでは、渡されたパラメーターが予想されるイベント オブジェクトを置き換えているように見えます。

イベント ハンドラを関数式として書き換えずにイベント オブジェクトを保持するにはどうすればよいですか?

0 投票する
2 に答える
272 参照

jquery - 内部でjQuery ajaxを使用して名前付き関数をバインドすると404エラーが発生する

クリックボタンが正常に機能するときに ajax リクエストを実行すると、期待どおりに戻ります。しかし、問題は、内部に ajax リクエストを含む要素に関数をバインドしようとしたときです。

関数はこのURLで404エラーを返しますが、ファイルは存在します(同じサーバー、同じドメイン...)

「d_more_hotels」関数内の jQuery.ajax 関数は URL で 404 エラーを返しますが、ファイルは存在します。

すべての変数をチェックし、ログを作成して完全な URL パラメータが使用されていることを確認しましたが、すべて問題ないようです。

WordPress の最終バージョンのフレームワークで作業しています。

:S

どんな助けでも大歓迎です。

編集:

ここに解決策がありますhttps://stackoverflow.com/a/3445620/3676282

WordPress機能の混乱

0 投票する
0 に答える
42 参照

javascript - JavaScript Function.bind(): デフォルトのこの引数

メソッドの最初のパラメーターbindは新しいthis値です。this問題は、これが自然値を置き換えているように見えることです。特に、イベント リスナーに使用する場合は、トリガー要素ではなくなります。

例えば:

この場合、最初のパラメーターを要素に設定できることがわかりましたh1event.target実際のターゲットを取得するために使用することもできます。ただし、イベント リスナーを複数の要素または匿名要素に割り当てる場合など、必ずしも便利とは限りません。

問題は、bindのデフォルト値を使用するように指示する簡単な方法はありますthisか?

ありがとう

注: これは厳密にはUse bound this and this of function scope in a function bound with bind() as (a) の複製ではありませthisん。私が自分自身について言及したものを使用event.currentTargetするか、新しい方法を作成する必要がありますが、これは私が求めていたものではありません。

ただし、答えが「いいえ」である可能性はありますが、それはできません。そのため、質問を再開するつもりはありません。