問題タブ [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.
javascript - Javascript: プロトタイプに言及せずに Function.prototype.call にアクセスできるのはなぜですか?
ここに私の質問を説明するためのスニペットがあります:
Function.call動作しますが、String.toUpperCase動作しません。代わりに、 と書かなければなりませんString.prototype.toUpperCase。
javascript - 変数としてのクラスメソッドのコンテキスト
例としてクラスがあります:
等々。
質問: にコンテキストをインポートする方法はfindByIndex?
たとえばfindByIndex、別のクラスで関数として使用する必要があります。である必要があることは理解していますbindが、クラスでどのように使用するのですか?
///////////////////////ADD////////////////// これはメソッドです
これは、メソッド iterator を使用する別のクラスです。
ご覧のとおり、2 番目のクラスにはメソッド iterator がありません。しかし、最後に owner(with context(this - L.Book)) のようなイテレータを使用する必要があります
javascript - バインディングとイベント ハンドラー - イベント オブジェクトを渡す
次のようにイベント ハンドラーをバインドするサンプル コードがあります。
イベント ハンドラーが (h1要素をクリックして) トリガーされると、期待どおり、出力はeventオブジェクトになります。
次のようにイベントハンドラーをバインドすると:
同じ結果が得られます。
ただし、次のようにバインドすると:
1の後の最初のパラメーターを取得しますh1。いずれの場合も、 の値thisは に正しく設定されてh1いますが、最後のケースでは、渡されたパラメーターが予想されるイベント オブジェクトを置き換えているように見えます。
イベント ハンドラを関数式として書き換えずにイベント オブジェクトを保持するにはどうすればよいですか?
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機能の混乱
javascript - JavaScript Function.bind(): デフォルトのこの引数
メソッドの最初のパラメーターbindは新しいthis値です。this問題は、これが自然値を置き換えているように見えることです。特に、イベント リスナーに使用する場合は、トリガー要素ではなくなります。
例えば:
この場合、最初のパラメーターを要素に設定できることがわかりましたh1。event.target実際のターゲットを取得するために使用することもできます。ただし、イベント リスナーを複数の要素または匿名要素に割り当てる場合など、必ずしも便利とは限りません。
問題は、bindのデフォルト値を使用するように指示する簡単な方法はありますthisか?
ありがとう
注: これは、厳密にはUse bound this and this of function scope in a function bound with bind() as (a) の複製ではありませthisん。私が自分自身について言及したものを使用event.currentTargetするか、新しい方法を作成する必要がありますが、これは私が求めていたものではありません。
ただし、答えが「いいえ」である可能性はありますが、それはできません。そのため、質問を再開するつもりはありません。