ホームページ  >  記事  >  ウェブフロントエンド  >  呼び出し元と呼び出し先の違いの紹介と実証結果_基礎知識

呼び出し元と呼び出し先の違いの紹介と実証結果_基礎知識

WBOY
WBOYオリジナル
2016-05-16 17:40:34929ブラウズ

発信者

caller は、現在の関数を呼び出す関数への参照を返します。

この属性を使用する場合は注意してください:

1 この属性は、関数が実行されている場合にのみ役立ちます
2 JavaScript プログラムで関数がトップレベルから呼び出された場合、null が返されます

functionName.caller: functionName is currently being being実行された関数。

コードをコピー コードは次のとおりです。

var a = function() {
alert( a.caller);
}
var b = function() {
a();
}
b();

上記のコードでは、 b が a を呼び出し、次に a.caller が b への参照を返します。結果は次のようになります。

a が直接呼び出された場合 (つまり、a が任意の関数で呼び出された場合、つまりトップレベルの呼び出し)、null を返します:


コードをコピー コードは次のとおりです。
var a = function() {
alert(a.caller)
}
var b = function() {
a( );
}
//b();


出力結果:

呼び出し先

呼び出し先は、引数の属性である実行関数自体への参照を返します

呼び出し先

を使用する場合は注意してください: 1 この属性は関数の実行時のみ有効です。

2 仮パラメータの数を取得するために使用できる length 属性があるため、仮パラメータの数と仮パラメータの数を比較するために使用できます。実際のパラメータが一貫している、つまり比較 argument.length が argument.callee.length

3 に等しいかどうか 無名関数を再帰するために使用できます。


var a = function() {
alert(arguments.callee);
}
var b = function() {
a();
b();


a in b が呼び出されますが、 a 自体への参照が返され、結果は次のようになります。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。