この具体的な値は、呼び出しモードによって異なります。
* メソッド呼び出しモード: これはオブジェクトにバインドされます。
* 関数呼び出しモード: これはグローバル オブジェクトにバインドされ、Web ページの場合はウィンドウにバインドされます。
* コンストラクター呼び出しモード: これは新しく生成されたオブジェクトにバインドされます。
* イベント処理呼び出しモードには 2 つのケースがあります。
* を参照してください。これはグローバル オブジェクトにバインドされています
...
>
* これは DOM オブジェクトにバインドされています
< script type="text/javascript">
function click_handler() {
alert(this); // ボタン DOM ノードに通知します
}
function addhandler () {
document.getElementById('thebutton').onclick = click_handler;
< ;button id='thebutton'> ;Click me!
これの不確実性は、関数呼び出しのコンテキストの変更によって引き起こされます。このコンテキストをより明確にするために、call メソッドと apply メソッドを使用して、このバインディングの値を明確にすることができます。
call と apply の違いはパラメータのみです。call は任意のパラメータ リストを受け入れ、apply はパラメータ配列オブジェクトを受け入れます。これにより、apply が 2 番目の引数として引数を受け入れることもできます。
コードをコピー
コードは次のとおりです。 func.call(obj1,var1,var2) ,var3) func.apply(obj1, [var1,var2,var3])
func.apply(obj1, argument)
ただし、call メソッドと apply メソッドはすぐに実行されます。必要に応じて後で使用すると、次の例のように条件が満たされなくなります。呼び出しが使用されるかどうかに関係なく、13 行目と 14 行目で必要な値 (42) を取得できません。
コードをコピー
コードは次のとおりです:
著者別の最新記事
-
2025-02-26 03:58:14
-
2025-02-26 03:38:10
-
2025-02-26 03:17:10
-
2025-02-26 02:49:09
-
2025-02-26 01:08:13
-
2025-02-26 00:46:10
-
2025-02-25 23:42:08
-
2025-02-25 22:50:13
-
2025-02-25 21:54:11
-
2025-02-25 20:45:11
最新の問題
-
2025-03-19 09:10:13
-
2025-03-18 15:17:30
-
2025-03-18 15:16:33
-
2025-03-18 15:14:33
-
2025-03-18 15:12:30