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

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

韦小宝
韦小宝オリジナル
2017-12-04 13:58:071406ブラウズ

エディターは、javascriptのFunction関数のトレーニングと理解についての基本的な教育コンテンツを提供します。javascriptに興味のある学生は一緒に学ぶ必要があります。 Function 関数は JavaScript の基礎であり、関数を実現するための転換点です。サンプル分析を通じて、Function 関数をより深く理解し、その実践的な使い方を説明します。

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

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

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

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

上記は、Function オブジェクトの

コンストラクター

を呼び出す標準関数定義です。このコンストラクターは、最初の N パラメーターを新しい

関数のパラメーターにデフォルト設定します。

最後のパラメータが新しいとみなされるまで 関数の関数本体 上記のステートメントから、add 変数が Function 型のインスタンスを指していることが非常に直感的にわかりますが、この命名方法は非常に面倒で、以下と同等: (1)

関数式

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


(2) 関数宣言


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


JavaScript言語での宣言は高度であるため、第1版では第2版の使用を推奨しています。この記事について説明します


しかし、最初の定義メソッドにより、add が関数インスタンスを指す変数であることが非常に直感的にわかります。は変数であり、他の変数に割り当てることができ、関数のパラメーターとして渡すことも、関数から返すこともできます

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

そのため、その関数を他の関数のパラメータとして渡すことができます。

そのため、その関数を

関数の戻り値として返すことができます

関数名は単に変数を指すためです関数インスタンスに対して、同じ変数が同じ参照アドレスを指すため、JavaScript では関数のオーバーロードは発生しません。

関数はオブジェクトのインスタンスであるため、 JavaScript の関数には属性とメソッドが必要です。この引数、this、length、prototype の 4 つの重要な属性は、現在の関数のパラメーター クラス配列を表します。この属性は非常に特殊です。 callee と呼ばれる属性、

arguments.callee 属性はポインターを保存します。ポインターは、この argument 属性 (関数名に相当します) を持つ関数エンティティを指します。

この属性は現在の環境であり、C# ではこれと同様に、 length 属性は現在の関数が受け取るパラメータの最大数を表します。 Prototype は関数のプロトタイプを表します。つまり、オブジェクト インスタンスのメソッドが完全に保存されます。それらはすべて継承されます。たとえば、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();
}



関連する推奨事項:


js関数のパラメータの値渡しの説明


js関数におけるこれの理解について

深い理解JS関数パラメータの(引数)の使い方

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

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