まず、JavaScriptの根幹である「オブジェクト」について、少し触れておきます。JavaScriptは「オブジェクト指向型言語」ですから、仕組みから学ぶ時はオブジェクトの理解が必須なのです。
この言語は、ほとんどのものがオブジェクトです。なにがなんでもオブジェクトです。windowとかdocumentなどおなじみのやつを始めとして、変数も配列もオブジェクトですし、メソッドや自作の関数もオブジェクトなら、HTMLまでもオブジェクト(ドキュメントオブジェクトモデル=DOM)となります。
オブジェクトは基本的に「操作されるもの」で、ただ存在するだけです。ただし、例外として、メソッドと関数は「操作するもの」です。(機能を持ったオブジェクト、ということです)
オブジェクトは、メソッドや関数、プロパティなどで、色々な操作をします。
- document.write()
- documentオブジェクト+writeメソッド
- (ドキュメントに書き出す)
- location.href
- locationオブジェクト+hrefプロパティ
- (ページのアドレスを参照)
- document.getElementById("idName").innerHTML;
- documentオブジェクト+getElementByIdメソッド+innerHTMLプロパティ
- (ドキュメントにあるタグのIDを取得して、タグ内のHTMLを参照)
- window.location.replace("index.html");
- windowオブジェクト+locationオブジェクト+replaceメソッド
- (ウィンドウのページのアドレスをindex.htmlに置換する)
- "文字列".link("index.html").fontcolor("red").bold();
- 文字列+linkメソッド+fontcolorメソッド+boldメソッド
- (文字列にリンクを張って色を赤にして太字にする)
など、ドット演算子(ピリオド)でつなげて、オブジェクトを操作します。(最後のやつはちょっと特殊ですけど)
見てわかる通り、オブジェクトがなければ、メソッドもプロパティも意味を持ちませんよね。単にwrite()とやっても、「どこに書くの?」となってしまいます。
また、単にdocumentだけでは、「documentをどうするの?」となります。
オブジェクトがあって、メソッドやプロパティで参照や設定などの操作をする。
これがJavaScriptの基本です。
ちなみにプロパティというのは、早い話が「オブジェクトが持っている値」または「オブジェクトに設定されている値」です。innerTextとinnerHTMLは関数でなく、プロパティです。
これらを踏まえた上で、JavaScriptでは、「オブジェクトの××を(に)・〜する」というのが基本構文となります。「××を(に)」の部分がプロパティです。
たとえば、document.form.element.valueだったら、「documentオブジェクトのformオブジェクトのelementオブジェクトのvalue」で、valueがプロパティとなります。valueならオブジェクトにあるvalue="値"を参照しますし、checkedならチェックされているかをtrue/falseで返します。
このように、オブジェクトはそれぞれ決まったメソッド・プロパティを持っています。(アンクJavaScript辞典の巻末の方に、主なものが載ってます)
- document.form.element.value = "値の代入";
- →オブジェクト(フォーム部品)のvalueに・文字列を設定する
- hensuu = document.form.element.value;
- →オブジェクト(フォーム部品)のvalueを・変数に代入する
- document.form.element.value.toLowerCase();
- →オブジェクト(フォーム部品)のvalueを・全部小文字に変換する
さらに、
- document.formName.elementName.value.length;
- →オブジェクト(フォーム部品)のvalueの長さ(文字数)
てな感じで、二重や三重にプロパティを重ねることもあります。(valueもlengthもプロパティです)
この例の場合は「〜する」の部分がないので、参照はしますが、なにも起きません。
まぁ、オブジェクト概念は説明も理解も難しいんですが、(達者な人を目指すなら)やはり必須です。理解できると、すごく柔軟な組み方ができますよ。色々なスクリプトを組みながら、少しずつ、かつ体験的に習得してくださいね。(みっちり取り組めば、1年で結構なとこまで行けます)
あと、オブジェクト概念の解釈には、いくつか自分独自と思われる箇所があります。あんまり信じすぎないでください。(苦笑)