関数の代入
関数は、変数に入れて扱うことができる。
書き方は、
変数名=定義済の関数名;
代入するときは、関数名の後ろに()はつけない。
関数式
関数の定義と、変数への代入を同時に行うこともできる。
このような式は、関数式という。
書き方は、
変数名=function 関数名(){処理内容}; ←セミコロンをつける
関数は、変数に入れて扱うことができる。
書き方は、
変数名=定義済の関数名;
代入するときは、関数名の後ろに()はつけない。
関数の定義と、変数への代入を同時に行うこともできる。
このような式は、関数式という。
書き方は、
変数名=function 関数名(){処理内容}; ←セミコロンをつける
変数には、スコープ(いわゆる有効範囲)が設定されている。
グローバルスコープは、スクリプト全体で数を参照できる(どこからでも参照できる)。
グローバルスコープの変数は、グローバル変数と呼ばれる。
ローカルスコープは、ある関数の中でのみ変数を参照できる。
ローカルスコープの変数は、ローカル変数と呼ばれる。
なお、関数の内側で変数を宣言すると、その変数は関数内でのみ有効なローカル変数となる。
他方、変数の宣言を省略すると、JavaScript が 暗黙的にグローバル変数として宣言を行なう。
また、名前が同じでもスコープが異なる場合は、違う変数として扱われる。
ローカル変数は、関数が呼び出されるたびに値が初期化される。
グローバル変数は、ページが更新されない限り、永続的に値を持ち続けることができる。
基本的に、ローカル変数を使うのがよいとされる。
つまり、関数の内部で、変数の宣言をすべきということである。
複数のJavaScriptを読み込んだときに衝突を避けるためである。
一連の処理をひとまとめにして、自由に名前を付けたものを関数と呼ぶ。
必要なときに何度でも呼び出せる。
関数は、引数(処理の材料)を受け取り、戻り値(処理結果)を返す。
関数には、 自作関数と、組み込み関数とがある。
組み込み関数は、JavaScript があらかじめ備えている関数である。
関数 は、 function文を使って定義する。
function 関数名() {処理内容}
例「与えた数を2倍にする」
function toDouble (i) {
return i * 2 ;
}
var x = toDouble (10);
console.log (x) //20が表示される
定義した関数を実行するときは、関数名を記述するだけでよい。
定義の際も、呼び出しの際も、 必ず 関数名の後ろに丸 かっこ()を付ける。
なお、関数の呼び出しが先でもよい。
引数は、複数指定してもよい。
function 関数名(引数を入れる変数名) {
処理内容
}
関数名(引数として渡す値)
戻り値は1つだけしか指定できない。
例
function 関数名() {
処理;
return 戻り値;
}
return文が実行されると関数の呼び出し元に戻る。
戻り値が代入される変数を用意しておく必要がある。
return文がない場合、undefinedが戻り値となる。
while (継続条件式) {繰り返し処理}
継続条件式がtrueなら繰り返しになる。
繰り返すたびに変数の値を増減させることが できる。
この変数はカウンタ変数と呼ばれる。
for (初期化式; 継続条件式; 増減式){繰り返す処理; }
条件式が真であれば、続くコードの「文」あるいは「ブロック(波括弧でつくられる)」が実行される。
== 左辺と右辺が等しい場合は true
!= 左辺と右辺が等しくない場合はtrue
< 左辺が右辺より小さい場合はtrue
<= 左辺が右辺以下の場合はtrue
> 左辺が右辺より大きい場合はtrue
= 左辺が右辺 以上の場合はtrue
=== 左辺と右辺が等しく、かつデータ型も等しい場合はtrue
!== 左辺と右辺が等しくない、もしくはデータ型が等しくない場合はtrue
&& 左辺と右辺のどちらもtrueの場合はtrue
|| 左辺と右辺のどちらかが trueの場合はtrue
! 真偽値を反転させる
論理値を反転させる。
変数の中に値が代入されているかどうか、という判断を行なう場合に、! 演算子がよく用いられる。
undefined、数値の0、空文字(文字列の長さが0文字)などは反転してtrueになる。
if文と同様に分岐処理を行う。
if文をより簡略化できる。
ある変数の中身が、どの値に一致するかを判断する。
switch文は、いずれかの値に一致すると、以降の処理がすべて実行されるという特徴がある。
なお。switch 文でできることはif文でもできるが、if文でできることがswitch文でもできるとは限らない。
ブロックから強制的に抜けるときに使う構文である。
break文によって、switch文によっても多方向分岐ができる。
配列とは 、同じ用途で用いる複数の変数を 1つにまとめたもののこと。
配列は変数の集まりによって構成されている。
個々の変数のことを要素と呼ぶ。
各要素を識別するために 、インデックスと呼ばれる番号 ( 0から始まる整数値 )が割り振られる。
インデックスは添え字とも呼ばれる。
配列の宣言は 、変数と同じように v a rを使う。
角かっこ [ ]内には 、要素に代入する値をカンマ区切りで指定する。
例
var number = [ 10 , 20 , 30 ] ;
配列の要素の参照は、たとえば、つぎのように行う。
console . log ( number [ 1 ] ) ;
配列の要素への代入は、たとえば、つぎのように行う。
number [ 1 ] = 10 ;
なお、配列は、空の状態で作成し、後から要素を入れても良い。
配列名の後ろに「. length」を付けると、配列が保持する要素の数を表わす。
例
var number = [10, 20, 30];
console. log( number. length);
実行結果は3になる
配列の集合体を多次元配列と呼ぶ。
例 2次元配列
var number = [ [ 10, 20, 30 ] , [ 40, 50, 60 ] ];
さらに角かっこ[]を入れ子にすることで、三次元、四次元の配列を作ることもできる。
連想配列は、数値の代わりに、文字列をインデックスとする。
これにより各要素を識別しやすくすることができる。
連想配列では、インデックス のことを「キー」と呼ぶ。
連想配列の要素は、キーと値のセットで 1つとして扱われる。
全体を囲むのは、波 かっこ{} にする。
例
var 連想配列名 = { キー1 : "値1", キー2 : "値2", キー3 : 値3 }
連想配列内の要素を参照するには、ドット . または [] でキーを指定する。
JavaScriptの算術演算子は、計算を行なう演算子です。
+、−、*、/、%があります。
とくに、複合代入演算子という演算子もあります。
複合代入演算子は 、 「変数 =変数 +値 」という形の式を省略するための演算子です。
+=、-=、*=、/=、%=、++(インクリメント)、–(デクリメント)があります。
変数についてのまとめです。
宣言は一度だけ行う。
例
v a r x ;
v a r x , y , z ;
変数には 、自由な名前を付けることができる。ただし 、 J a v a S c r i p tの予約語と同じ名前にはできない。
変数の中に値を入れることを代入と呼ぶ。変数が持てる値は 1つだけなので 、代入をするたびに値が上書きされる。
変数の宣言と代入は 、同時に行なうこともできる。
例
v a r x = 0 ;
宣言時に値を代入することを初期化と呼ぶ。
変数宣言のみで初期化を行なわない場合 、変数の中には初期値として u n d e f i n e dという特殊な値が入る。
u n d e f i n e dに対して計算などの処理を行なうことはできない。
変数を計算などに利用する場合は必ず先に値を入れる。
変数の中身を見るときは、c o n s o l e . l o gや a l e r tの丸かっこ ( )内に変数名を指定する。
例
v a r a = 1 0 ;
c o n s o l e . l o g ( a ) ;
変数に入れるデ ータの種類のことをデ ータ型と呼ぶ 。
JavaScriptのデータ型には、数値、文字列、論理値、配列、連想配列、null値、undefined値、NaNがある。
変数の宣言時には、型の指定はしない。
J a v a S c r i p tの書き方のル ール
< s c r i p t >要素の中に記述する
外部の J a v a S c r i p tファイルに記述する ( H T M Lから J a v a S c r i p tを読み込む )
基本的に半角の英数字と記号のみを使う 。
文字列 (文字の並び )を扱う場合はシングルクォ ート ( ’ )かダブルクォ ート ( ” )で囲む 。
大文字と小文字は別の文字として扱わう。
命令文の末尾にはセミコロン ( ; )を付ける 。
複数行に渡るひとまとまりの命令群を波かっこ { }で囲む 。囲まれた範囲をブロックと呼ぶ 。
スクリプトの中で自由に改行や半角のスペ ース (空白 ) 、タブを挿入して良い。
JavaScriptにおいて、シングルクォートで囲むと、中身は「文字列」として扱われます。
これは、ダブルクォートでも同じです。
なお、シングルクォートでもダブルクォートでも囲まれていないものは、「文字列以外の何か」として扱われます。