2010年で第二世代携帯がサービス終了。ソフトバンクに乗り換えて安くなった人が7割以上います!

2008.02.07 改

あとがき
とりあえずここまでで、初心者むけの解説を終りにします。
初心者向けにしては余計な事も書きすぎましたが、覚えると言う事は 直線を真っ直ぐ進むわけではないと思います。 ですから必要な時に必要な場所を読み返したりする事もあると思って書いています。

覚える為には、サンプルを真似る、改造する、自分で書く 疑問に思ったら解決する、実験を繰り返すなどをする事が必要です。 色々やっているうちに、だんだん自分の物になってくると思います。

あとJavaScriptはNetscapeが標準語でMicrosoftが方言という考え方は捨ててください。 微妙に違いがある事は確かに面倒ですが、どっちが標準だろうが方言だろうが どちらもシェアは広いのでこの『2つで通用する物が標準』くらいに考えて置いて下さい。
では頑張って、より良いホームページをお作りください。m(__)m


特殊文字

top
javascript内で扱われる特殊文字を解説していなかったのでここで書いておきます。 特殊文字は、直接記述するとコードと間違って解釈されてしまう物や 特殊な意味を持たせた記述文字です。

\b バックスペース
\f フォーム フィード
\n ライン フィード (改行)
\r キャリッジ リターン
\t 水平タブ (ctrl + i キー)
\' シングル クォーテーション (')
\" ダブル クォーテーション (")
\\ 円記号 (\)

この様にシングルクォーテーション内にシングルクォーテーションをどうしても使う場合等は \' のように書きます。 また、\ という文字はこの特殊文字を構成させる記号なので \ 自体を表現したい時は \\ と書きます。
\'と \" は最低でも覚えておいてくださいね。


整理整頓

top
◆変数・関数 名
変数のページで書いていますが、変数の名前は 後で見直す時に直感的に理解しやすい名前にしてください。 覚え始めの頃は次から次へと新しい事を覚えるので、どんどん忘れて行きます。 あとで見て、よくこんなプログラムが書けたなぁ と思う事さえありますから。 私の様に$を先頭に付けるのがほんとに良いかどうかわかりません、あなたなりの工夫をしてみてください。

◆コメントラベル
プログラムが大きくなればなるほど、全体を見渡しにくくなります。 関数の数も増え、関数の中でのステートメントも増えます。 どこからどこへ処理が渡っているのか? この関数は何をする関数だったっけ? など、プログラム中も、後で見返す時も わかりやすくした方が便利です。 ですから コメントラベルを付ける癖を付けましょう。
ここで言うラベルとは、ステートメントのラベル(label)ではありません。
・ある処理をまとめて、コメントラベルを付けます。
/*------------------ クッキー処理 ---------------
$cookies :クッキー全体
$cookie :目的のクッキー
getcook():クッキー取得
setcook():クッキー発行
getcookdate:クッキー用日付取得作成
-------------------------------------------------*/
ここにクッキー関係の処理(関数や変数など)

・小さな処理に付けます。
//◆処理8 ここでブラウザを分ける ieは doie()、その他 donn()
if(navigator.useragent・・・・){ doie(); }else{ donn(); };

◆セミコロン
行末全部ではなく、ステートメントの終りに セミコロン(;)を付けます。
if(条件){
ステートメント;
ステートメント;
}
このセミコロンを付けなくてもjavascriptは動作します。だから付けなくても構いません。 ステートメントの終りを明確にする為には付けた方が良いかも知れません。 セミコロンを付けていると、ftp転送などの繰り返しで改行が狂った場合に、もしかしたら役に立つかも。。
if(条件){ ステートメント; ステートメント; }
これは成り立ちますので。

◆インデント
htmlを記述する上でも、見やすい理解しやすいコーディングをする為に インデント(字下げ)を行いますね? これと同様に、スクリプトのコーディングでも わかりやすくインデントをします。 また、if文などでの 複数ステートメントをまとめる {} 等を見やすく整理します。 基本的には自分が見やすければそれでokです。
function dochange(){
    if(      )
    {    ステートメント;
         ステートメント;
    }
    else
    {    ステートメント;
         ステートメント;
    }
}


確認の仕方

top
プログラムを組んでいるとエラーが出たり、動かなかったり、思い通りの値のコントロールができていなかったりと 様々なトラブルにみまわれます。 もっとも単純な方法でどこまでプログラムが解釈されているか、 あるいはその時点での値はどうなっているかを調べる方法として、 私はよくalert()を使ってチェックしています。
例として
<script language="javascript">

$name = "";
alert(''); // #1
function getname(){
alert(''); // #2
	if( 条件 ){
	alert(''); // #3
	}else{  alert(''); // #4   }

	setname($name);
}

function setname( _n){
alert(); // #5
}
</script>
#1 alert(変数) の様にして、変数の値をアラートさせてみます。何らかの記述ミスで変数の代入ができてない場合や 配列変数などの場合には定義ミスがあったりしますので。 また、scriptタグを記述ミス等(scirptと書いてしまう等)では このjavascript自体が読み込まれないので 読み込まれた時点で alert()が起動するはずなのに起動しないと言う事でミスが見つかります。

#2 alert("ok") などと記述します。これでこの関数が呼び出されているのか? が確かめられます。 呼び出しているのにこのアラートが表示されない場合は、何らかの記述ミスがあるかもしれません。 よく見直してみてください

#3 #4 これは if()条件分岐内に書いています。 条件が2択になっていれば、どちらかが必ずアラートします。 呼び出す時にかならず if(条件)が成立するはずなのに #4 のアラートが出る場合は 条件が整わないと言う問題が見つかります。また、このif文内で変化する変数の値を調べたり この時点での情報のチェックにも使います。

#5 ここの関数は getname()の最後で呼び出されています。その時に引数ももらっていますね? まずアラートが起動すれば、この関数の呼出しはされていると言う事になります。 引数の値がどうなっているのか?のチェックは alert(_n) とすれば、ここの関数が受け取った引数の値が アラートされます。

この様に、一ヶ所一ヶ所、怪しいかな?と思われる場所に alert() を書いてはチェックしての繰り返しで 間違っている場所を絞り込んで行きます。 例では、5ヶ所に書いていますが一遍に5ヶ所も書くと、後で消し忘れたりしますので 絞り込むように、alert() を書いてチェックしてみてください。

FireFoxなどでは空のalert()は『引数がない』って事無視されます。
空でもalert('') の様に書かないとalert() は起動しません。
ま、Netscape系はエラーコンソールがあるので alert()でチェックする必要はあまりないですが。

◆標準ブラウザ以外での確認
Netscape、FireFoxをメインで使っている方はIEで、IEをメインで使っている方はNetscape、FireFoxで確認する事を心がけてください。 ついつい自分がメインで使っているブラウザのみで有効なスクリプトを書いている場合等もありますし。 netscapeもieも最新版が無料で手に入るわけですから、hp製作者はその両方での確認くらいしましょう。 hpは自分の趣味で作っているとしても、表に出して他人に見せるのが目的でしょうから hp製作者は無料でできる確認くらいは怠らないようにしましょうね。 わざわざお金を掛けてとは言いませんから。
また、エラーのでない環境を書いておくとか、確認済みのブラウザを書いておくとか そういう配慮も必要な場合もあります。

←前 次→


案ずるより産むが易し
使ってみれば疑問も解決

XREA+ (plus) 200円/月
( お試し7日間 )

CORE SERVER 416円/月
( お試し15日間 )

ロリポップ 263円/月
( お試し期間10日間 )

チカッパ 500円/月
( お試し期間15日間 )

ヘテムル 1500円/月
( お試し期間15日間 )

さくら 125円/月
( お試し期間2週間 )

無駄な高額ドメイン管理料金払ってませんか?

バリュードメイン
ムームードメイン

膨大な数の命令をサンプルとあわせて解説。機能別にすぐ引けます!Web2.0を支えるJavaScriptを詳細解説。AjaxやDOM Scriptingで必要となる、DOM/XML/通信の解説を大幅強化。Internet Explorer、Firefox、Safariなど、最新ブラウザに対応。サンプルスクリプトがダウンロードできます。
命令/関数/オブジェクト/真偽/計算/演算・変換/数値/配列/文字列/正規表現〔ほか〕 JavaScript
ポケット
リファレンス
改訂第4版
JavaScriptの文法からAmazon Webサービス・Googleマップまでこの1冊だけでキホンから実践まで、Ajaxのすべてがやさしく学べます。
1 JavaScriptの基本(イントロダクション/変数と計算/条件分岐、繰り返し、関数/オブジェクト)/2 ブラウザーとHTMLの操作(ブラウザーの操作/DOM)/3 JavaScriptによるAjaxの実践(Ajax)/付録 基礎Ajax

JavaScript
言語解説部分とリファレンス部分に分け、その言語解説部分をまとめたもの。第5版では、全章の内容を更新し、XMLHTTPRequestオブジェクトでスクリプトからHTTPリクエストに送信する方法、JavaScriptを使ってXMLデータの制御、またJavaScriptによるグラフィックの制御機能についてなど、新しい話題を追加した。
JavaScriptの概要/第1部 コアJavaScript(字句構造/データ型と値/変数/式と演算子 ほか)/第2部 クライアントサイドJavaScript(Webブラウザに組み込まれたJavaScript/ブラウザウィンドウの制御/ドキュメントの制御/CSSとダイナミックHTML ほか) JavaScript第5版
JavaScriptを、基礎から学習できます。プログラミングの初歩から、オブジェクトやイベントまで、わかりやすく系統的に解説したプログラミングの入門書です。学習項目ごとに、例題や練習問題が用意されているので、習得のチェックをすることができます。この1冊で「基本言語仕様」「オブジェクト」「DOM」「イベント処理」など、JavaScriptの基本がしっかり身につきます。
JavaScriptの概要/JavaScriptの基本言語仕様/オブジェクト/DOM(Document Object Model)/イベント処理/各種処理/JavaScriptの今後/練習問題、章末問題の解答 基礎から学べるJavaScript標準コースウェア
本書は、JavaScriptのリファレンスについて、コアJavaScriptとクライアントサイドJavaScriptに分けて解説しています。コアJavaScriptリファレンスでは、JavaScript1.5とECMAScriptバージョン3によって定義されたすべてのクラス、オブジェクト、コンストラクタ、メソッド、関数、プロパティ、定数について解説します。クライアントサイドJavaScriptのリファレンスでは、レガシーなブラウザ対応のAPI、DOMレベル2の標準的なAPIを扱うほか、XMLHTTPRequestオブジェクトやcanvasタグのような新しい情報もカバーします。
1章 コアJavaScriptリファレンス(Arguments/Array/Boolean/Dateほか)/2章 クライアントサイドJavaScriptリファレンス(Anchor/Applet/Attr/Canvas ほか) JavaScriptクイックリファレンス
136本定番サンプルを掲載。ナビゲーション画面から手軽に動作確認。すぐに引ける便利なプロパティ・メソッドのリファレンス。74項目も併せて掲載。Webコンテンツ制作者、必携。
第1章 DOMの概要/第2章 HTML文書の内容を操ろう/第3章 イベント/第4章 フォーム/第5章 スタイルシート/第6章 Ajax+DOM/第7章 オブジェクト指向でいこう/付録 JavaScript,Ajax,DOMによるWebアプリケーションスーパーサンプル
いまや星の数ほどあるWebページ。そのなかであなたのWebサイトがひときわ注目を集めるためには、ユーザーをうならせるテクニック、あっと驚かせるワザが必要です。本書では、意外と気づ付かないHTMLのTipsから、CSS(スタイルシート)を使った効果的なデザインの方法など、あなたの思い通りにWebサイトをグレードアップする裏技を、すぐに使えるサンプルソース付きで豊富な解説。さらに、JavaScriptを活用したインタラクティブなページの作り方や、CGIで各種情報を取得する便利なテクニックなども多数紹介しています。 図解
誰にも教えたくないWeb制作秘密のテクニック200
本書は、ホームページを一味違ったものにするために欠かせない裏ワザ(TIPS&TRICKS)を集大成したものである。
HTML&CSS編(色と装飾/画像/フィルター/マウスオーバー ほか)/JavaScript/ダイナミックHTML編(スクリプト/DOMとダイナミックHTML/IE最新ワザ/XML) HTML/JavaScript/CSSホームページ裏ワザ大辞典
スーパーカリスマアフィリエイター伊藤哲哉氏とSEOの達人鈴木将司氏が贈るアフィリエイトの秘伝書がここに極まる!著者や監修者が長年蓄積した、確実に稼げるアフィリエイターになるためのステップを一からみっちり解説。また、本当に稼げるテーマを選ぶコツやノウハウも満載。
アフィリエイトの基本/CTPMの法則:アフィリエイトの大原則/アフィリエイターで失敗する人、成功する人/アフィリエイトで稼ぐための4つのポイント/アフィリエイターを取り巻く環境の変化/アフィリエイトで稼げる分野を見極める/アフィリエイトで成功するキーワード選定方法/魅力あるコンテンツ作り/SEO対策とアクセスアップ/データ分析を極める(アクセス解析&ASPデータ解析)/収益をあげる細かいスパイス/アフィリエイト実践編
アフィリエイトの達人養成講座
カスケードスタイルシートとダイナミックHTMLは、より軽く、より刺激的なサイトを構築するための機能を満載しています。本書は、WEBコンテンツ作成のプロフェッショナルのために、CSSとDHTMLについて、実践的な架空サイトの構築例を使って詳細に解説します。 WebプロフェッショナルのためのCSSとDHTML