ホームページ >ウェブフロントエンド >フロントエンドQ&A >JavaScriptで関数を宣言するために使用されるもの
js では、function キーワードまたは Function() 関数を使用して、構文「function funName([parameter list]){...}」または「var funName =」で関数を宣言および定義できます。 new Function([ パラメータリスト, 本体])"。
このチュートリアルの動作環境: 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 サイトの他の関連記事を参照してください。