ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript Function関数の理解と実践

JavaScript Function関数の理解と実践

小云云
小云云オリジナル
2018-01-03 10:52:531328ブラウズ

Function 関数は JavaScript の基礎であり、関数を実現するための転換点です。サンプル分析を通じて、Function 関数をより深く理解し、その実践的な使い方を説明します。この記事では主に JavaScript に関する基本的な教育コンテンツと Function 関数のトレーニングと理解について説明します。一緒に学びましょう。

Function は確かにオブジェクトであり、私たちが定義する関数は実際には Function オブジェクトのインスタンスであり、それは Function オブジェクトのインスタンスを指すものとして理解することもできます。関数型 A の参照を指します。これは参照型のメモリ アドレスを指すため、この変数が参照型のアドレスを指し、このアドレスが参照型のアドレスを指すことも簡単に理解できます。 Function オブジェクトのインスタンスです。

定義した関数は実際には変数であるため、関数インスタンスのアドレスは同時に複数の変数を指すことができます。

次のコードを見てください:

var add = new Function("n ", "m", "return n + m");

上記は、Function オブジェクトのコンストラクターを呼び出す標準関数定義です。このコンストラクターは、最初の N パラメーターを、最後の N パラメーターまで新しい関数のパラメーターにデフォルト設定します。パラメータは新しい関数の関数本体とみなされます。

上記のステートメントから、add 変数が Function 型のインスタンスを指していることが非常に直感的にわかりますが、この命名方法は非常に面倒であり、次と同等です。

(1) 関数式

var add=function(n,m){
return n+m;
}

(2) 関数宣言

function add(n,m){
return n+m;
}

JavaScript言語での事前宣言のため、初版では関数の定義に2番目の方法を使用することが推奨されています。事前の関数宣言について

しかし、最初の定義方法により、addが関数インスタンスを指す変数であることが直感的に分かります

変数なので、他の変数に代入したり、関数のパラメータとして渡すことができます。

したがって、 var add2=add3 =add; これで、3 つの変数はすべてこのインスタンスの参照を指すようになり、将来は add2 と add3 の 2 つの関数を使用できるようになります。 add は関数オブジェクトの参照を削除した後に null の参照を指すため、影響を受けます。 したがって、add2 関数と add3 関数にはまったく影響しません。

そのため、この関数は他の関数のパラメーターとして渡すことができます。したがって、関数は関数の戻り値として返すことができます。

関数名は関数インスタンスを指す単なる変数であるため、JavaScript 同じ変数が同じ参照を指すため、関数のオーバーロードはありません結局のところ、これは同じ関数を表します。関数はオブジェクトのインスタンスであるため、JavaScript の関数には属性とメソッドが必要です。これが 4 つの重要な属性引数です。 、length、prototype

arguments は、現在の関数のパラメーター配列を表します。この属性は、callee という属性も持ちます。

argument.callee 属性は、この引数を持つ関数エンティティを指すポインターを保存します。属性 (関数名に相当) この属性は、C# の場合と同様に、現在の環境を表し、現在の関数が受け取るパラメーターの最大数を表します。これは、オブジェクト インスタンスのメソッドが完全に保存されることを意味します。たとえば、toString() valueOf() などです。

次に見てみましょう。関数関数の種類について

通常の関数: 同名での上書き、引数のオブジェクト、デフォルトの戻り値など、通常の関数の特徴を紹介します。

function ShowName(name) {
 alert(name);
}

匿名関数: 匿名関数の特徴を紹介します: 変数匿名関数、名前のない匿名関数。

//变量匿名函数,左侧可以为变量、事件等
var anonymousNormal = function (p1, p2) {
 alert(p1+p2);
}
anonymousNormal(3,6);//输出9
クロージャ関数:クロージャ関数の特徴を紹介します。


function funA() {
 var i = 0;
 function funB() { //闭包函数funB
  i++;
  alert(i)
 }
 return funB;
}
var allShowA = funA(); //全局变量引用:累加输出1,2,3,4等
 
function partShowA() {
 var showa = funA();//局部变量引用:只输出1
 showa();
}

関連する推奨事項:

register_shutdown_functionの詳細な紹介


javascript Function関数の理解と実践_基礎知識

JavaScriptにおけるfunction関数bindメソッドのインスタンス使用法の詳細な説明

以上がJavaScript Function関数の理解と実践の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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