JavaScript では、いくつかのタイプの関数が定義されています。 1. 宣言または式を通じて関数を定義するには、function キーワードを使用します。構文は、「function functionName(parameters){実行コード}」です。 2. 関数コンストラクター Function() を使用して構築します。機能。
このチュートリアルの動作環境: Windows 10 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。
JavaScript では関数を定義するためにキーワード function を使用します。
関数は宣言によって定義することも、式として定義することもできます。
関数宣言
前のチュートリアルでは、関数宣言の構文をすでに学習しました。
function functionName(parameters) { 実行されたコード}
この関数は宣言された直後には実行されませんが、必要なときに呼び出されます。
関数コンストラクター 関数
コンストラクターは、JavaScript では関数オブジェクトを作成するために使用されます。実際には、すべての関数が関数オブジェクトです。
関数コンストラクターの構文:
new Function ([arg1[, arg2[, ...argN]],] functionBody)
arg1、arg2、... argN は、関数の通常のパラメーター名として変数名として使用されます。 「x」、「theValue」、「a,b」など、JavaScript 変数識別仕様に準拠した単一の変数を表す文字列、または複数の変数を表すカンマ区切りの文字列です。
functionBody 関数を定義する JavaScript ステートメントを含む文字列。
説明
1. 関数オブジェクトは、関数コンストラクターが関数に解析されるときに作成されます。ただし、これらの関数はコードを通じて直接解析されるため、関数宣言や関数式などを使用するよりも効率が低くなります。
2. 関数コンストラクタに渡された文字列パラメータは、関数コンストラクタによって生成される関数の変数パラメータ名として使用され、その出現順序が生成される関数のパラメータの順序として使用されます。
3. 関数コンストラクターを関数として呼び出しても (new キーワードで変更したかどうかに関係なく)、同じ効果があります。
Example
// サンプルは JavaScript コンソールで直接実行できます // 2 つの引数を受け取り、それらの引数の合計を返す関数を作成します var adder = new Function('a', 'b', 'return a + b'); // 関数を呼び出す 加算器(2, 6); // > 8
パラメータ a と b は、関数本体で使用できる通常のパラメータ名です。
生成される関数は次のとおりです:
function (a,b){unknown a+b を返します。
json の解析方法について: var json = (new Function("return " + str))();
原理
は同じで、
生成される関数は
次のとおりです。 文字列を返します。 } var str="{'a':1,'b':'abc'}"; toJson(str);
つまり: function(){return {'a':1,'b':'abc'}}
関数コンストラクターと関数宣言の違い:
関数コンストラクターで作成された関数はコンテキスト内に作成されませんクロージャは常にグローバル スコープで作成され、作成された関数を実行するときは、eval とは異なり、独自のローカル変数またはグローバル変数のみを使用できます。
関連する推奨事項: JavaScript 学習チュートリアル。
上記は、JavaScript で定義された関数の詳細な内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。