JavaScript関數(shù)
関數(shù)は、呼び出されたときに実行されるイベント駆動(dòng)型または再利用可能なコードのブロックです。
JavaScript 関數(shù)の構(gòu)文
関數(shù)は、前に使用されるキーワード function を持つ、中括弧で囲まれたコードのブロックです:
function functionname()
{
コードを?qū)g行する
}
この関數(shù)が呼び出されると、関數(shù)內(nèi)のコードが実行されます。
関數(shù)は、イベントが発生したとき (ユーザーがボタンをクリックしたときなど) に直接呼び出すことができ、JavaScript によってどこからでも呼び出すことができます。
注: JavaScript では大文字と小文字が區(qū)別されます。キーワード function は小文字である必要があり、関數(shù)は関數(shù)名と同じ大文字と小文字を使用して呼び出される必要があります。
パラメータを使用して関數(shù)を呼び出す
関數(shù)を呼び出すとき、パラメータと呼ばれる値を渡すことができます。
これらのパラメータは関數(shù)で使用できます。
カンマ (,) で區(qū)切って、必要なだけパラメータを送信できます:
myFunction(argument1,argument2)
関數(shù)を宣言するときは、パラメータを変數(shù)として宣言してください:
function myFunction ( var1,var2)
{
code
}
変數(shù)とパラメーターは一貫した順序で指定する必要があります。最初の変數(shù)は、渡された最初のパラメータの指定された値であり、以下同様です。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <p>點(diǎn)擊這個(gè)按鈕,來調(diào)用帶參數(shù)的函數(shù)。</p> <button onclick="myFunction('哈利波特','Wizard')">點(diǎn)擊這里</button> <script> function myFunction(name,job){ alert("Welcome " + name + ", the " + job); } </script> </body> </html>
上記の関數(shù)は、ボタンをクリックすると「ようこそ、魔法使いのハリー」というプロンプトを表示します。
プログラムを?qū)g行して試してください
戻り値のある関數(shù)
関數(shù)が呼び出された場所に値を返したい場合があります。
これは return ステートメントを使用して実現(xiàn)できます。
return ステートメントを使用すると、関數(shù)は実行を停止し、指定された値を返します。
構(gòu)文
function myFunction()
{
var x=5;
return x;
}
上記の関數(shù)は値 5 を返します。
注: JavaScript 全體の実行は停止されず、関數(shù)のみが停止されます。 JavaScript は、関數(shù)が呼び出された場所からコードを?qū)g行し続けます。
関數(shù)呼び出しは戻り値に置き換えられます:
var myVar=myFunction();
myVar 変數(shù)の値は 5 で、これは関數(shù)「myFunction()」によって返される値です。
変數(shù)として保存しなくても、戻り値を使用できます:
document.getElementById("demo").innerHTML=myFunction();
"demo" 要素の innerHTML は 5 になります。これは、関數(shù)「myFunction()」によって返される値です。
関數(shù)に渡された引數(shù)に基づいて戻り値を作成できます:
インスタンス
2 つの數(shù)値の積を計(jì)算し、結(jié)果を返します:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <p>本例調(diào)用的函數(shù)會(huì)執(zhí)行一個(gè)計(jì)算,然后返回結(jié)果:</p> <p id="demo"></p> <script> function myFunction(a,b){ return a*b; } document.getElementById("demo").innerHTML=myFunction(4,3); </script> </body> </html>
プログラムを?qū)g行して結(jié)果を確認(rèn)します
関數(shù)を単に終了したい場合には、return ステートメントを使用することもできます。戻り値はオプションです:
function myFunction(a,b)
{
if (a>b)
{
return;
}
x=a+b
}
if a が b より大きい, すると、上記のコードは関數(shù)を終了し、aとbの合計(jì)を計(jì)算しません。
ローカル JavaScript 変數(shù)
JavaScript 関數(shù)內(nèi)で (var を使用して) 宣言された変數(shù)はローカル変數(shù)であるため、関數(shù)內(nèi)でのみアクセスできます。 (この変數(shù)のスコープはローカルです)。
ローカル変數(shù)は宣言された関數(shù)でのみ認(rèn)識(shí)されるため、異なる関數(shù)で同じ名前のローカル変數(shù)を使用できます。
関數(shù)の実行が完了すると、ローカル変數(shù)はすぐに削除されます。
グローバル JavaScript 変數(shù)
関數(shù)の外で宣言された変數(shù)はグローバル変數(shù)であり、Web ページ上のすべてのスクリプトおよび関數(shù)からアクセスできます。
JavaScript変數(shù)の有効期間
JavaScript変數(shù)の有効期間は、宣言された時(shí)點(diǎn)から始まります。
ローカル変數(shù)は関數(shù)の実行後に削除されます。
グローバル変數(shù)はページを閉じると削除されます。
未宣言のJavaScript変數(shù)への値の代入
まだ宣言されていない変數(shù)に値を代入すると、その変數(shù)は自動(dòng)的にグローバル変數(shù)として宣言されます。
このステートメント:
carname="Volvo";
は、関數(shù)內(nèi)で実行された場合でも、グローバル変數(shù) carname を宣言します。