2. JavaScriptの実行方法
操作方法、実行方法は、HTMLと同様です。
特別なコンパイラー等は必要なく、フリーのブラウザーソフト(Netscape Navigator 2.0以降およびInternet Explorer 3.0以降のバージョン)とテキストエディター(Windowsの場合は、メモ帳。Macintoshの場合は、SimpleText)さえあれば、準備オーケーです。
3. JavaScriptの仕様と使用例
他のプログラム言語と同様に、平均値と標準偏差を求めるプログラムと、片持ち梁の計算例を紹介しながら基本的な事項について説明します。
3.1平均値と標準偏差の計算
平均値と標準偏差の計算式についての説明は、ここでは、省略します。
●平均値と標準偏差の計算プログラムリスト(keisan01.html)
●平均値と標準偏差の計算結果
(1)<SCRIPT>タグと変数
■<SCRIPT>タグ
HTMLファイルにJavaScriptを記述するには、<SCRIPT LANGUAGE="JavaScript">〜</SCRIPT>タグを使用します。
■変数
変数とは、値(数値、文字、計算結果等)を一時的に格納し保存しておく”器”です。他のプログラム言語では、使用する変数を事前に型宣言しておく必要がありますが、JavaScriptでは、型宣言は不要です。
■変数名の付け方
JavaScriptの変数名は、プログラマが自由に好きな名前を付けることができますが、下記の様な一定のルールがあります。
・使用できる文字は、英字(A〜Z、a〜z)、数字(0〜9)、アンダースコア(_)
・変数名の最初の文字は、必ず、英字または、アンダースコア(_)ではじまる
・アルファベットの大文字と小文字は、区別されます
・日本語(2バイト文字)は、変数名として使用できません
・予約語(キーワード)は、変数名として使用できません
<正しい例>
i J2 myName count _theBook abc_xyz
<悪いい例>
98note ………… 数字ではじまっている
abc+efg ………… 英数字、アンダースコア(_)以外の文字が使用されている
your Name ………… 途中に空白(スペース)がある
break ………… 予約語(キーワード)である
■予約語(キーワード)
abstract boolean break byte case catch char class const
continue default do double else extends false final
finally float for function goto if implements import in
instanceof int interface long native new null package
private protected public return short static super switch
synchronized this throw throws transient true try var
void while with
(2)JavaScript未対応のブラウザへの対処
ブラウザは、サポートしていないタグは、無視します。もし、JavaScript未対応のブラウザで、JavaScriptを記述したページを表示するとプログラムの部分がそのまま表示されます。これを防ぐ為に、プログラムを<!--と//-->で挟んで、HTML上で、コメント化しておきます。
(3)配列
JavaScriptでは、配列の作成は、Arrayオブジェクトを使用します。(JavaScript1.1以降対応)また、使用できる配列は、1次元配列のみです。この例では、Arrayオブジェクトに直接、数値を設定していますが、他プログラム言語に似せて、下記の様にも記述できます。
. . . . . . . . . . .
var data = new Array(33)
data[0] = 160; data[1] = 161; data[2] = 155;
data[3] = 158; data[4] = 157; data[5] = 163;
. . . . . . . . . . .
. . . . . . . . . . .
Arrayオブジェクトは、
オブジェクト名 = new Array(要素数)
ここで、配列の要素数を省略して、
オブジェクト名 = new Array()
と記述できます。
尚、JavaScriptでは、
data(33) すなわち、 配列名(要素数)
と記述するの間違いです。
■フリーフォーマット
JavaScriptは、C言語と同様に記述は、フリーフォーマットです。
ただし、C言語では、実行文の終わりには、必ず、セミコロン(;)が必要でしたが、JavaScriptは、1行に複数の実行文を記述する場合には、セミコロン(;)で、区切りますが、1行1実行文の場合は、セミコロン(;)は、不要です。(あっても間違いではありません。)
(4)変数の有効範囲
変数の有効範囲とは、その変数がどこで使えるかということです。JavaScriptでは、ローカル変数(その関数内だけで使える)として利用したいときは、「var」を付けます。グローバル変数(スクリプト中どこでも使える)として利用したいときは、「var」を付けません。
(5)繰り返し処理(for文)
for文の記述方法は、C言語と同様です。すなわち、
for (初期値; 条件式; 増減式) { 処 理 }
と記述します。条件式の値が、真(true)の間、{ }内の処理を繰り返します。
ここで、data.lengthは、配列名data(オブジェクト名data)の要素数を示すlengthプロパティで、この例では、data.lengthプロパティは、33という値です。
繰り返し処理として、while文もあります。記述方法は、
while (条件式) { 処 理 }
条件式の値が、真(true)の間、{ }内の処理を繰り返します。
for文との相違点は、必ず、1回は、{ }内の処理が実行されます。
(6)代入演算子
代入の仕方を指定する演算子のことです。下記の様な種類があります。
・x += y (x=x+y と同様) ・x -= y (x=x-y と同様)
・x *= y (x=x*y と同様) ・x /= y (x=x/y と同様)
・x %= y (x=x%y と同様。%は、剰余演算子で、例えば、9%5=4です。)
(7)算術演算子
■算術演算子
四則演算子(+,-,*,/)と剰余演算子(%)、インクリメント・デクリメント演算子(++、--)があります。
また、インクリメント演算子(++)の使用法については、以下のとおりです。
・y = x++ (yに値を代入してからxに1を加える)
・y = ++x(xに1を加えてからyに値を代入する)
デクリメント演算子(--)も同様です。
■比較演算子/論理演算子
比較演算子には、==、!=、<、<=、>、>=があり、C言語と同様に使用します。
論理演算子には、&&、||、!があり、C言語と同様に使用します。
(8)Mathオブジェクト
数値計算の関数、自然対数、円周率等のオブジェクトです。使用方法は、
Math.property
Math.method()
の様に指定します。例えば、プロパティ(property)として、
E(自然対数の底)、LN2(eを底とする2の自然対数)
LN10(eを底とする10の自然対数)、PI(円周率)等があります。
Math.E
Math.PI
として、使用します。
メソッド(method)として、abs()、exp()、sin()、sqrt()、tan()等があります。
そして、
Math.abs()
Math.sqrt()
の様に使用します。単に、abs()やsqrt()と指定する事は、間違いです。
もし、数値計算処理でMathオブジェクトを頻繁に使用する際は、with文を利用すると便利です。
■with文
with(オブジェクト){ 処 理 }
の様に、記述します。例えば、
with(Math){
x=2*PI*r
y=sin(x)
}
と記述し、個々の実行文でのMathオブジェクトの指定は、省略可能です。
(9)document.writeメソッド(method)
documentオブジェクトのメソッドの1つです。
document.write(値)と記述すると「値」をプラウザ上のページに表示します。
「値」は、数値、文字列のどちらでも指定できます。文字列の場合は、ダブルコーテーション(")で挟みます。ダブルコーテーション(")が、無い場合は、数値として扱われます。また、複数の文字列を出力したい場合は、文字列をカンマ(,)で区切るか、または、プラス(+)で、文字列を連結できます。例えば、
document.write("こんにちは、"+"みなさん!")
と
document.write("こんにちは、","みなさん!")
は、同じように、こんにちは、みなさん!と表示されます。
(10)条件分岐(if文)
if文の記述方法は、C言語と同様です。すなわち、
if (条件式) { 処理1 }
else { 処理2 }
と記述します。条件式の値が、真(true)のとき、{処理1}を行い、それ以外のときに{処理2}を行います。
この例では、入力データを10個表示するごとに、改行タグ(<br>)を表示しています。
(11)コメント
プログラムの動作に影響を与えないようなコメントを記述できます。そのコメントは、プログラムの処理内容の説明やコピーライト等の記述をします。
記述方法は、下記の2とおりです。
・ダブルスラッシュ(//)に続く1行
・/*と*/で挟まれた複数行