JavaScriptについての簡単な説明のページです。基礎知識として参考にしてください。

ホームページ作成−TOP−

JavaScript

グレードアップの部屋へ
JavaScriptとは?
JavaScriptの種類
JavaScriptの記述方法
JavaScriptのバージョンの記述方法
HTML4.0でのJavaScriptの記述方法
JavaScriptのバージョンの記述方法に関する問題点
JavaScriptに未対応または無効にしているブラウザへのメッセージ
JavaScriptの文の区切り方
コメントの記述
オブジェクト
ナビゲータオブジェクトの階層
プロパティ
メソッド
イベントハンドラ
関数
ビルトイン関数
変数と定数
関数や変数に名前を付ける

JavaScriptとは?

SunMicrosystems社が開発したプログラミング言語Javaを参考にNetscape社が開発したオブジェクト指向言語でHTML内に記述することができます。
基本にJavaがあるため似た部分がありますが、JavaとJavaScriptは別物と考えてください。JavaScriptはJavaと違いコンパイルする必要が無く、HTML文書内に記述しブラウザが読み込むことにより実行させることができます。
JavaScriptは、JavaScriptはNetscapeNavigator2.0〜、InternetExporer3.0〜で実行可能です。
JavaScriptを使用することでWebページを動的に変化させたり、CGIなどで行なっていた処理の一部をWebページ上で行うことができるようになります。


ページのトップへ

JavaScriptの種類

現在公開されているJavaScriptのバージョンはJavaScript1.0〜JavaScript1.5で各バージョンによりブラウザの対応も違っています。
バージョンアップで使用できるオブジェクトの種類が追加されていたり、文字コードの扱いが変更されたりしているためNetscapeNavigator2.0〜、InternetExporer3.0〜でも実行させたい場合はJavaScript1.0で記述する必要があります。
このページで紹介するJavaScriptのソースコードは基本的に画像を扱うImageオブジェクトがサポートされたJavaScript1.1からブラウザではNetscapeNavigator3.0〜、InternetExporer3.0〜に対応したコードを紹介していきます。ブラウザの対応状況はその都度明記しますので注意してください。

主なJavaScriptのバージョンの特徴及び対応ブラウザ



ECMAScript

ヨーロッパの標準化機関ECMA(European Computer Manufacturers Association)がJavaScript1.1をベースに規定したスクリプト言語の仕様で現在ECMA-262 3版が公開されています。JavaScriptとMicrosoft社のJScriptはこのECMA-262と互換をとるように変更が行なわれています。

JScript

Microsoft社が独自に開発したJavaScript互換のスクリプト言語で、InternetExporerに搭載されているのは正確にはJavaScriptではなく、このJScriptです。
ページのトップへ

JavaScriptの記述方法

JavaScriptはHTMLファイル内にHTMLタグ<script></script>を使い、language属性で"JavaScript"と指定すると、ブラウザは<script></script>タグ内の文字列をJavaScriptと認識して実行します。

<script language="JavaScript">
<!--
JavaScriptのソース
//-->
</script>


ページのトップへ

JavaScriptのバージョンの記述方法

language属性で"JavaScript1.2"と指定するとJavaScript1.2に未対応のブラウザで見たときはスクリプトが実行されません。
これで未対応ブラウザで見たときのエラーを防ぐことができます。
下の例はJavaScript1.2のソースの記述方法です。

<script language="JavaScript1.2">
<!--
JavaScript1.2のソース
//-->
</script>


ページのトップへ

HTML4.0でのJavaScriptの記述方法

HTML4.0ではlanguage属性は非推奨となっているため、Type属性で指定しなければなりません。
Type属性での指定は下のようになります。

<script type="text/javascript">
<!--
JavaScriptのソース
//-->
</script>

HTML4.0では<head></head>内に<meta>タグを使ったスクリプト言語の指定も必要です。

<meta http-equiv="Content-Script-Type" content="text/javascript">


ページのトップへ

JavaScriptのバージョンの記述方法に関する問題点

language属性と違いType属性ではバージョン情報の指定がうまく行なえないという問題点が出てきます。例えばType属性でversion1.2と指定してもlanguage属性のようにブラウザの対応状況に応じてスクリプトの実行を制御することができません。本来ブラウザで実行できるはずのスクリプトが実行できないという事もおこります。ですからHTML4.0の仕様からは外れてしまいますがlanguage属性でバージョン指定したほうが未対応ブラウザで見た場合のエラーの回避には有効です。
Mozilla、NetscapeNavigator6.XはHTML4.0の仕様になっているためスクリプトの指定はType属性を使用してください。


ページのトップへ

JavaScriptに未対応または無効にしているブラウザへのメッセージ

<noscript></noscript>を使用して記述します。
<script></script>外にJavaScriptを使用している旨を記述しておくとJavaScriptに未対応または無効にしているブラウザへのメッセージとして表示されます。
JavaScriptに対応しているブラウザでは<noscript>は無視されます。

<noscript>
このページはJavaScriptを使用しています
</noscript>


ページのトップへ

JavaScriptの文の区切り方

文の区切りには「;」を使用します。JavaScriptは基本的に自動で文の区切りを判断しますので、処理に問題はありませんがソースを見易くするためにも「;」で区切っておきましょう。


ページのトップへ

コメントの記述

JavaScriptのコメントの記述方法は2通りあります。
「//」を記述したあとの1行はコメントとして扱われます。
「/*〜*/」に挟まれた文字列はコメントとして扱われます。

<script language="JavaScript">
<!--
//この1行がコメントとして扱われます
/*この挟まれた部分の文字列が
コメントとして扱われます*/
//-->
</script>


ページのトップへ

オブジェクト

JavaScriptではブラウザの機能や情報をオブジェクトとして扱い、このオブジェクトの値を変更したり値を調べて処理を変更することによってブラウザの表示を動的に変化させることが可能です。
JavaScriptのオブジェクトにはナビゲータオブジェクトとビルトインオブジェクトの2種類があります。

1.ナビゲータオブジェクト

ブラウザが本来持っている部品(画像、フォーム)や情報(ブラウザの名前、バージョン)を扱うオブジェクト
ナビゲータオブジェクトには階層関係があり、使用する場合はその階層の上から順に「.」で区切って記述します。ナビゲータオブジェクトの階層

2.ビルトインオブジェクト

JavaScriptがブラウザに独自に組み込んでいる(ビルトイン)オブジェクト
JavaScriptでは日付や時間を扱うオブジェクト、文字列の操作を行なうオブジェクト、配列の作成や操作を行なうオブジェクトなど数多くのオブジェクトが用意されています。
ページのトップへ

プロパティ

各オブジェクトは多くの属性を持っています。この属性をプロパティと呼びプロパティもまたオブジェクトです。
JavaScriptではプロパティはオブジェクトの後に「.」で区切って指定します。
またプロパティの中にはユーザー自身が値を設定できるものもあります。値を設定する場合はプロパティの後に「=値」と指定します。

オブジェクト.プロパティ=値


ページのトップへ

メソッド

オブジェクトに対して動作を指定するものをメソッドと呼びます。
メソッドはオブジェクトの後に「.」で区切って指定します。オブジェクトに対して値を指定する場合は()内に値を指定指定します。

オブジェクト.メソッド(値)


ページのトップへ

イベントハンドラ

ユーザーやスクリプトがページをロードしたり、オブジェクトがクリックされたり特定の動作が発生したタイミングをイベントといい、JavaScriptはこのイベントの発生を取得してスクリプトの実行を行なう事ができます。
このイベントを取得するものをイベントハンドラと呼びます。イベントハンドラの設定はイベントハンドラが設定可能なオブジェクトのHTMLタグ内に記述します。

イベントハンドラ名=スクリプトまたは関数


ページのトップへ

関数

一連の処理に名前をつけたものを関数と呼びJavaScriptでは処理の定義をする関数と関数を呼び出す関数の二つからできています。
通常、HTMLでは関数の定義が終了するまでに関数が呼び出されるのを防ぐために<head>内で関数の定義を行い、<body>内で関数の呼び出しを行ないます。

function 関数名(引数,引数・・・・){処理}


ページのトップへ

ビルトイン関数

JavaScriptにはオブジェクトに依存せず、スクリプトのどこからでも使用することが可能なビルトイン関数というものがあります。
ビルトイン関数はJavaScriptで始めから定義されている関数のことです。


ページのトップへ

変数と定数

変数は値を入れる箱のようなもので、数値、文字列、オブジェクト、メソッド、プロパティ、式などを設定します。

var 変数名=値

同じ変数でも値を変化させることで変数の値は絶えず変化するのに対し、変数に代入する値の方は変化することはありません。
そのため変数に代入する値の方を定数(リテラル)と呼びます。


ページのトップへ

関数や変数に名前を付ける

ユーザーが自由に名前を付けれるのは、オブジェクト名、関数名、引数名、変数名、定数名です。
但し、名前を付けるには条件があり その条件を満たしていればどんな名前でも自由につけることができます。

名前を付けるときの条件(使用可能)

名前を付けるときの条件(使用不可能)




グレードアップの部屋へ


ホームページ作成−TOP−