function文
ファンクション文は、自分で関数を定義することのできる構文です。
といってもなんのことかわからないですね。次、いきましょう。
function文の書き方
function 自分で決めた名前(引数) {
このファンクションにしてほしい文;
return 返す値(あれば);
}
- はじめにココからファンクション文ですよ、と知らせるために、
function と書きます。
function
- 自分で決めた名前、例えば足し算をするファンクションなら、addNumber()など、
後で自分で見てこのファンクションは何をするファンクションなのか
わかるような名前をつけます。
function addNumber()
- ()の中にファンクションの外からもらってくる値を変数で入れます。
例えば2つの数字を足すファンクションだったら、足すための数字が2つ必要ですよね。それを()の中に書いておくと、このファンクションを使うときには、2つの値が必要です。ということがわかります。
その2つの数字を変数でnum1、num2として()に入れておきます。
function addNumber(num1, num2)
この()の中の 変数num1、num2を 引数(ひきすう) といいます。
- {}の中にこのファンクションでしてほしい文を書きます。
2つの数字変数num1と変数num2を足して、その値を変数answerに代入、
function addNumber(num1, num2){
answer = num1 + num2;
}
- 2つの数字を足した答えを知りたいですよね。
ファンクション文から何かの値を外に出したいときは、returnを使います。
この場合変数answerの値がほしいので、
function addNumber(num1, num2){
answer = num1 + num2;
return answer; //変数answerを返します
}
これで2つの変数を足してその答えを返す
ファンクションaddNumberができました!
function文の具体例
上記の説明で、2つの数字を足すファンクションaddNumberが作れましたよね。
function addNumber(num1, num2) {
answer = num1 + num2;
return answer;
}
作ってしまえば使うのは簡単。ファンクションの名前と引数を記入すればOkです。
例えば 2 と 134 を足して、その答えがほしいときは、
addNumber(2, 134);
です。では、134643と23を足したいときは?
addNumber(134643, 23);
です。簡単でしょ?
足した答えを return answer; でもらえるようにしていましたよね。return した値は、
その値を代入するための変数を作り、そこに代入します。
value = addNumber(2, 134);
これで、ファンクションaddNumberに渡された2つの数字が足し算されて、その答えが変数valueに代入される。
というスクリプトができました!
さっそく確認してみましょう。
メインタイムラインの1フレーム目に下のようなスクリプトを書いてみてください。
//ファンクションaddNumberを実行
returnvalue = addNumber(2, 134);
//ファンクションaddNumberからreturnした値をtraceをつかって出力
trace("2と134をaddNumberで足してみた答えは " + returnvalue);
//ファンクションaddNumberを定義(作成)
function addNumber(num1, num2) {
answer = num1 + num2;
return answer;
}
ムービープレビューすると、出力に 2と134をaddNumberで足してみた答えは 136と出ますよね。
function文練習問題
基本はわかったと思うので、練習しながら覚えちゃいましょう。
- 2つの数字を入れて大きいほうの数字を出力するファンクション、showGreaterNum()を作ってください。
- ファンクションを実行すると、ファンクションって以外に簡単だった!と出力する
ファンクション、showMessage()を作ってください。
解答、解説は次の項目↓です。
function文練習問題の解答、解説
1)の2つの数字を入れて大きいほうの数字を出力するファンクション、は
//ファンクションshowGreaterNumを実行
showGreaterNum(345, 134);
//ファンクションshowGreaterNumを定義(作成)
function showGreaterNum(num1, num2) {
if(num1 > num2){
trace(num1);
}else{
trace(num2);
}
}
このファンクションには
return がありません。が、returnは必ず必要ではないので、ファンクションによって、必要なときはつかう。で大丈夫です。もちろんこの練習問題の説明のaddNumberの時のように、使ってもかまいませんよ。
2)のファンクションを実行すると、ファンクションって以外に簡単だった!と出力する
ファンクション、は
//ファンクションshowMessageを実行
showMessage();
//ファンクションshowMessageを定義(作成)
function showMessage() {
trace("ファンクションって以外に簡単だった!");
}
このファンクションには 引数、return がありません。が、return同様、引数( ()の中のファンクションに渡したい値のこと)は必ず必要ではないので、ファンクションによって、必要なときはつかう。で大丈夫です。引数がなくても、()は忘れずに記入してくださいね。
FLASHアクションスクリプト入門編 講座一覧へ戻る
isValid TOPへ戻る