ホームページ >ウェブフロントエンド >フロントエンドQ&A >JavaScriptで関数を宣言するために使用されるもの

JavaScriptで関数を宣言するために使用されるもの

青灯夜游
青灯夜游オリジナル
2022-02-15 18:16:413279ブラウズ

js では、function キーワードまたは Function() 関数を使用して、構文「function funName([parameter list]){...}」または「var funName =」で関数を宣言および定義できます。 new Function([ パラメータリスト, 本体])"。

JavaScriptで関数を宣言するために使用されるもの

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

JavaScript での関数の宣言と定義

1. 関数キーワード

構文を使用します。 :

function funName([参数列表]) {
    statements
}

funName は関数名で、変数名と同様に、有効な JavaScript 識別子である必要があります。関数名の後には、括弧で囲まれ、カンマで区切られたパラメータのリストが続きます。パラメータはオプションであり、数に制限はありません。

識別子として、パラメーターは関数本体内でのみアクセスされ、パラメーターは関数スコープのプライベート メンバーです。関数を呼び出すときは、関数に値を渡し、パラメータを使用して外部から渡された値を取得し、関数本体内で関数の実行に介入します。

括弧の後には中括弧があり、中括弧内に含まれるステートメントが関数本体構造の主な内容です。関数本体では中括弧が必須ですが、中括弧がないと JavaScript は構文エラーをスローします。

関数ステートメントには関数名、括弧、中括弧が含まれている必要があります。その他のコードは省略できるため、最も単純な関数本体は空の関数です。

function funName() {}  //空函数

匿名関数を使用する場合、関数名は省略できます。

function () {}  //匿名空函数

var ステートメントと function ステートメントは両方とも宣言ステートメントであり、宣言された変数と関数は JavaScript のプリコンパイル時に解析されます (変数プロモーションや関数プロモーションとも呼ばれます)。プリコンパイル期間中に、JavaScript エンジンは各関数のコンテキストを作成し、変数オブジェクトを定義し、関数内のすべての仮パラメーター、プライベート変数、および入れ子関数を変数オブジェクトの属性として登録します。

2. Function() 関数を使用する

Function() コンストラクターを使用して、関数をすばやく生成します。具体的な使用方法は次のとおりです。

var funName = new Function([参数列表,body]);

Function() のパラメータの型はすべて文字列で、body は作成された関数の関数構造ステートメントを表し、body ステートメントはセミコロンで区切られます。

例 1

すべてのパラメーターを省略し、関数本体を表す文字列のみを渡すことができます。

var f = new Function ("a", "b", "return a+b");  //通过构造函数来克隆函数结构

上記のコードでは、f は作成された関数の名前です。同じ関数を定義し、同じ構造の関数を function ステートメントを使用して設計できます。

function f(a, b) {  //使用function语句定义函数结构
    return a + b;
}

例 2

Function() コンストラクターを使用して、パラメーターを指定せずに空の関数構造体を作成します。

var f = new Function();  //定义空函数

例 3

Function() コンストラクターのパラメーターでは、p1~pn はパラメーター名のリストです。つまり、p1 は 1 つのパラメーターを表すだけでなく、カンマ区切りのパラメーターも表すことができます。パラメータのリスト。以下の定義方法は同等です。

var f = new Function("a", "b", "c", "return a+b+c");
var f = new Function("a, b, c", "return a+b+c");
var f = new Function("a,b", "c", "return a+b+c");

関数本体には通常、多くのコードが含まれるため、Function() コンストラクターを使用することはあまり一般的ではありません。これらのコードが文字列の行として渡されると、コードの可読性が非常に低くなります。

関数を動的に作成するには、Function() コンストラクターを使用します。ユーザーは、関数ステートメントで事前に宣言された関数本体に制限されません。 Function() コンストラクターを使用すると、関数を構造体としてではなく式として使用できるため、より柔軟に使用できます。欠点は、Function() コンストラクターが実行中にコンパイルされるため、実行効率が非常に低く、通常はその使用が推奨されないことです。

[関連する推奨事項: JavaScript 学習チュートリアル]

以上がJavaScriptで関数を宣言するために使用されるものの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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