JavaScriptの関数の定義
JavaScriptはキーワード使用する機能定義関数。
機能を定義することができ宣言することにより、それが表現することができます。
関数式
<BODY> <P>関数を変数に格納され、変数の関数として使用することができます。</ P> <P ID = "デモ"> </ P> <P ID = "DEMO1"> </ P> <SCRIPT> VAR = Xの関数(A、B){ 戻り *のBを}; のdocument.getElementById( "デモ")のinnerHTML = Xと、 のdocument.getElementById( "DEMO1")のinnerHTML = xで(4 ,. 3.。 ) </ SCRIPT> </ BODY>
出力:
変数後、機能は、ストレージの関数として使用することができます。
機能(A、B){* bを返します}
12
関数()コンストラクタ
<BODY> <P ID = "デモ"> </ P> <スクリプト> のvar MyFunctionを= 関数(a、b)は{ 返す *のBを} のdocument.getElementById( "デモ")。innerHTMLの= MyFunctionを(4,3 ) ; </ SCRIPT> <p個のID = "DEMO1"> </ P> <スクリプト> のvarのMyFunction = 新機能( "A"、 "B"、 "* bを返します" ); document.getElementById( "DEMO1")のinnerHTML = MyFunctionを(4、3 ); </スクリプト> </ BODY>
出力:
12
12
呼び出し元の関数ので、
<身体> <p型>関数が自動的に呼び出すことができます:</ p型> </ p型> <P-上記ID = "デモ"に述べた> <スクリプト> (機能(){ のdocument.getElementById( "デモ")innerHTMLプロパティ=「こんにちは、私を!それは彼らの"と呼ばれる; })(); </ SCRIPT> </ BODY>
出力:
機能が自動的に呼び出すことができます。
こんにちは!私は自分自身を呼び出します
関数はオブジェクトであります
<BODY> <P>のtoString()関数としての文字列を返し</ P> <P ID = "デモ"> </ P> <SCRIPT> 関数MyFunctionを(A、B){ 戻り *のBと、 } document.getElementById( "デモ")innerHTMLプロパティ= )myFunction.toStringを(; </ SCRIPT> </ BR> 数<P> arguments.lengthを機能は、受信した属性のパラメーターを戻します。</ P> <P ID = " DEMO1 "> </ P> <SCRIPT> 関数MyFunctionを(A、B){ 戻りarguments.lengthをする; } のdocument.getElementById( " DEMO1「)のinnerHTML = MyFunctionを(4 ,. 3.。) </ SCRIPT> </ BODY>
出力:
toString()関数などの文字列を返します。
関数MyFunctionを(a、b)は、{* bを返します。}
arguments.lengthをプロパティ関数は、受け取った引数の数を返します。
2
アロー機能
ES6は矢印の機能を追加しました。
アロー関数式の構文は、通常の関数式より簡潔です。
<身体> <H2> JavaScript関数を矢印</ H2> <P> IE以前のバージョンのIE11と機能の矢印をサポートしていません。</ P> <P ID = "デモ"> </ P> <SCRIPT> CONST X =(X、Y)=> { 戻り X * Yを}; のdocument.getElementById( "デモ")innerHTMLのX =(5。 。、5 ); </ SCRIPT> </ BODY>
出力:
JavaScript関数の矢印
IEのIE11およびそれ以前のバージョンでは、矢印の機能をサポートしていません。
25
JavaScriptの関数パラメータの受け渡し
<BODY> <P>查找最大的数</ P> <P ID = "デモ"> </ P> <スクリプト> 関数findMax(){ VAR I、最大=引数[0 ]。もし(arguments.lengthを<2)リターン最大。用(i = 0; I <arguments.lengthを、iは++ ){ 場合(引数[I]> MAX){ 最大 = 引数[I]; } } リターン最大。 } 、X = findMax(1、123、500、115、44、88 )。 document.getElementById( "デモ")のinnerHTML = X。 </スクリプト> </ BODY>
出力:
最大数を検索します。
500
コンストラクタ関数の呼び出しを使用します
<BODY> <P>该实例中、MyFunctionを是函数构造函数</ P> <PのID = "デモ"> </ P> <スクリプト> 関数MyFunctionを(ARG1、ARG2){ この .firstName = ARG1。 この .lastName = arg2に。 } VAR X = 新しい MyFunctionを( "ジョン"、 "ドウ" ) のdocument.getElementById( "デモ")のinnerHTML =。x.firstName。 </スクリプト> </ BODY>
出力:
この例では、MyFunctionのはコンストラクタです。
ジョン
着信配列
<身体> <P ID = "デモ"> </ P> <スクリプト> のvar myObjectという、MyArrayという。 関数MyFunctionを(a、b)は{ 返す *のBと、 } MyArrayという = [10、2 ] myObjectという = myFunction.apply(myObjectという、MyArrayという)。 // 返回20 。のdocument.getElementById( "デモ")innerHTMLの= myObjectという。 </スクリプト> </ BODY>
出力:
20
JavaScriptを閉鎖
<身体> <P>局部变量计数ます。</ p> <ボタンタイプ= "ボタン" onclickの= "MyFunctionを()">计数!</ button>の <p個のID = "デモ"> 0 </ P> <スクリプト> VARの追加=(関数(){ VARのカウンタ= 0 ; 戻り関数(){ 戻りカウンタ+ = 1 ;} })(); 関数MyFunctionを()は、{ のdocument.getElementByIdが( "デモ")のinnerHTML =。 (追加)。 } </ SCRIPT> </ BODY>
<身体> <P>局部变量计数ます。</ p> <ボタンタイプ= "ボタン" onclickの= "MyFunctionを()">计数!</ button>の <p個のID = "デモ"> 0 </ P> <スクリプト> 機能の追加(){ VARのカウンタ= 0 。 戻りカウンタ+ = 1 ; } 関数MyFunctionを(){ のdocument.getElementByIdが( "デモ")のinnerHTML =。 (追加)。 } </ SCRIPT> </ BODY>
これら2つのコードの実行の結果は同じではない、プラスのみ定数1に添加することができます