初心者のためのホームページ作り:第117号

                 隔週金曜日配信 What's New 2005年6月17日
□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

       初心者のためのホームページ作り/Web for beginner
           http://www.scollabo.com/banban/

                        <第117号>

              banban@scollabo.com

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

  当講座は、初心者が正しい文法と作法を身につけて、魅力的な Webページ作
 成に役立つことを目的に配信されております。

  当講座では HTML4.01、XHTML1.1 を中心とした文法が主体となっています。
 なお、このマガジンは等幅フォントでお読みいただくと快適に読めます。

   今週のコンテンツ
    ■ JavaScript講座 (最終回) --- オブジェクトと制御文
    ■ Tips --- Webアプリケーションとしての言語

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

◆JavaScript講座 --- オブジェクトと制御文、ビルトイン関数

 過去24回にわたって解説してきましたJavaScript講座も、今回を持って終了さ
 せていただきます。今回は今まで解説してきたスクリプト作成についての総ま
 とめとしてオブジェクトと制御文について触れます。

 ■JavaScriptはオブジェクト指向言語
 JavaScriptではあらかじめ様々なオブジェクトが組み込まれています。文字や
 画像、フォーム、日付と時間、数値計算などを操作するために、多岐にわたっ
 たオブジェクトが定義されています。
  スクリプトを作成するとき、その目的にあわせてオブジェクトを選択し、そ
 れを操作したりコントロールすることで、独自のスクリプトをプログラムする
 ことができます。

 □オブジェクトのメソッドとプロパティ
 オブジェクトは単にオブジェクトを指定すればよい訳ではありません。あらか
 じめオブジェクトが持っているメソッドやプロパティを指定することで初めて
 オブジェクトとして動作します。

 オブジェクトとは「モノ」を指し、テキストや画像、フォームなど実に様々な
 モノがあります。
  メソッドとはあらかじめ組み込まれた小さなプログラムのような働きをする
 もので、複雑なプログラムを必要とせず簡単にオブジェクトを操作させること
 ができます。

  プロパティとは、オブジェクトが持つ「属性」で、こを利用することで、例
 えばテキストの文字色や大きさを参照したり設定することができます。

 オブジェクトを自在に操作するためにもメソッドとプロパティは欠かせません。
 言い換えれば、オブジェクトの持つメソッドやプロパティをしっかりと理解で
 きなければ、オブジェクトを操ることができません。

 オブジェクトについての詳しい説明は以下を参照してください。
   ◎オブジェクト・リファレンス
   http://www.scollabo.com/banban/java/object.html

   ◎オブジェクトのメソッドとプロパティ、関数リファレンス
   http://www.scollabo.com/banban/jsindex/index.html

 ■制御文
 オブジェクトとは別に独立した命令を制御文と呼び、オブジェクトを巧みに利
 用しながらスクリプトを作成します。
  代表的な制御文として、条件分岐やループ (繰り返し処理) などが挙げられ
 るでしょう。

 特に条件分岐はプログラミングの常道手段とも言うべき手法で、ある値の中身
 を調べて別のプログラムを実行させることは、JavaScriptでは日常的に使われ
 ます。
  また、ある一定の条件の元に同じ処理を繰り返すループもスクリプト作成に
 重要な役割を果たしています。

 制御文の詳しい説明は、本誌「第30号」をお読みください。
   第30号バックナンバー
	   http://www.scollabo.com/banban/magazine/magazine_030.html

 ■ビルトイン関数
 関数とは、あらかじめ定義しておく小さなプログラムの集まりを指し、多くの
 プログラム開発言語では「サブルーチン」と呼ばれ、必要に応じて関数を呼び
 出し処理されるというものです。
  JavaScriptでは、関数の呼び出しを関数の中で行ったり、HTMLのイベント属
 性で呼ぶ場合が一般的です。

 関数は大きく分けて2つの種類があり、作者が自由に作成する「ユーザ定義関
 数」と、JavaScriptであらかじめ定義されている「ビルトイン関数」あります。
 ここでは、後者のビルトイン関数について説明します。

 ビルトイン関数には以下の8種類が定義されており、複雑なプログラムを作成
 しなくても必要に応じて呼び出して使います。

 ビルトイン関数
 ----------------------------------------------------------------------
 escape   指定した文字列を ISO Lathin 1 (ASCII) 文字コードに変換する
 eval    文字列を引数として渡した後に評価して結果を数値に返す
 isFinite  eval関数で指定される文字列を解析し真偽を返す
 isNaN    指定された値を解析して数値に変換できないものを NaN で返す
 perseFloat 与えられた文字型の引数を実数値に変換して返す
 perseInt  与えられた文字列を解析し、指定された値を根とする整数に変換
 String   指定された値やオブジェクトを文字列に変換する
 unescape  ISO Lathin 1 (ASCII) 文字コードを、文字列に変換
 ----------------------------------------------------------------------

 □ escape関数
  指定した値 (文字列) を ISO Lathin 1 (ASCII) 文字コードにエンコードして
 返します。
  構文: escape(string)  string=変換対象の文字列
  サンプル:
   a = "初心者のためのホームページ作り";
   a = escape(a);
   document.write(a);

 この escape関数を使うに当たって2点ばかりの注意点があります。
  1つは、この関数を使う場合のHTML文書の文書型定義 (DTD) が Strict (厳
 格仕様) の場合、スクリプトを囲むときに language属性を使いません。代わり
 に type属性で MIMEタイプを指定します。
  <script type="javascript"> このようにしたとき、残念ながら escape関数
 は動作してくれません。つまり、escape関数は Strictでは使えません。

 もう1点は、古いブラウザでは文字化けする危険があります。MSIEやNetscape
 などの古いブラウザでは正しい ISO Lathin 1 にエンコードしません。

 □ unescape関数
 この関数は、escape関数の逆で、引数に指定された ISO Lathin 1 コードを人
 間が読める文字列にエンコードします。
  やはり escape関数と同じ問題点を含んでいます。

 □ eval
 eval関数は、文字列を引数として渡されることで、その文字列を評価して結果
 を数値に返します。またこの文字列の中には、様々なJavaScriptのプロパティ
 やメソッドなども記述することもできるので、何らかの算術式等を渡して、そ
 の結果を得るような用途に用いられます。
  構文: eval(string)   string=JavaScriptで評価される文字列
  サンプル:
   a = "20";
   b = "30";
   document.write(a + b);
   a = eval(a);
   b = eval(b);
   document.write(a + b);

  サンプルで示すとおり、当初変数a、及び b は、ダブルコートで囲まれてい
  るとおり文字列です。そのため、最初の表示結果は「2030」となりますが、
  文字列を数値の変換したため、次は「50」となります。
   なお、これも文書型定義は過渡期仕様でなければ動作しません。

 □ isFinite
 この関数は、eval関数で指定される文字列を解析し、数値や数式なら真 (true)
 それ以外ならば偽 (fales) を返します。
  構文: isFinite(Number)   Number=調べる対象の文字列
  サンプル:
   check = isFinite(22/5+7);
   document.write("この数値は " + check + "です");

  このサンプルでは、isFiniteの引数にある文字列を解析し、それが数値ある
 いは数式であるかを返しています。文書型定義を厳格使用として利用する場合
 には、外部スクリプトとして利用できます。

 □ isNaN
 isNaN関数は、引数で指定した値が数値かどうかを調べます。値が数値ならば
 false、数値でない場合は true を返します。
  構文: isNaN(数値、あるいは文字列)
  サンプル:
   check = isNaN("banban");
   document.write("この値は" + check + "です");

 □ perseFloat
 引数に与えられた文字列を実数値に変換して返します。先頭から解析して変換
 不能な文字にあたった場所までの値を変換します。先頭の文字が変換不能の場
 合には、NaN(Not a Number:数値ではない)を返します。 
  構文: parseFloat(文字列)

 □ perseInt
 perseInt関数は、引数として与えられた文字列を解析し、指定された値を根と
 する整数に変換して返します。例えば 8進数で表された「10」を引数として与
 えると、答えは 8に、16進数で表されている「10」を引数として与えると16を
 返します。
  なお、16進数の場合 0〜9移行の数字はそれぞれ A〜Fまでのアルファベット
 が使用されます。そして変換不可能な文字が存在していた場合、先頭から変換
 して変換不能な文字に当たった場所までの数値を返し、先頭にこのような文字
 がある場合は NaN(Not a number) を返します。また、整数値を変換する際には
 小数点以下の数値は切捨てが行われます。
  構文: perseInt(string[,radix])  string=文字列 radix=基数 (根)
  サンプル:
   a = perseInt(10);
   document.write("整数値は", a, "です");

 □ String
 String関数は、引数で指定された値やオブジェクトを文字列に変換します。
  構文: String(obj)  obj=変換対象のオブジェクト


◆JavaScript講座まとめ

 25回にわたってJavaScriptについて解説してきました。JavaScriptの動作原理
 や名前規則、オブジェクト、メソッド、プロパティ、またJavaScriptのアクセ
 シビリティなど盛りだくさんでしたが、まだまだ不足していた部分もあったと
 思います。
  何度も述べてきたように、JavaScriptは魅力的でもあり、ある意味危険な香
 りも併せ持つ「両刃の刃」です。JavaScriptだけに頼り切ったページ作成を避
 けて、ひとつの装飾として利用することをお勧めします。

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

◆Tips --- Webアプリケーションとしての言語

 一般的に Webアプリケーションとは、ユーザである閲覧者のブラウザからのリ
 クエストによって動的なコンテンツを提供するアプリケーションを指します。
 その代表選手として CGI (Common Gateway Interface) は有名です。

 最近では Webアプリの開発に、PHPやJava言語に人気が集まり、比較的安価に
 作成できる環境が整いつつあります。
  Webアプリはサーバ側でプログラムを動作さているのが特徴的で JavaScript
 とは大きな違いがあります。ただし、JavaScriptによってサーバ側にデータを
 引き渡すことは得るえるでしょう。

 インターネットの普及に伴い、爆発的に Webサイトが生まれ日本でも5億を超
 えるページが作られています。そうした中で Webアプリの普及は時間の問題で
 した。
  もはやインフラともいえるインターネットを単に個人の情報発信から、ビジ
 ネスにおける展開が急激に進歩し、様々なサービスを提供しています。言い換
 えれば、これからの時代にネットを巧みに使いこなせない企業は淘汰されるに
 違いありません。

 そうした背景の中で、PHPやJava、.NetFrameworkなど、これからのIT産業の中
 でキーワードになることは間違いのないところでしょう。
  Webページの作成手法も劇的に変化してきています。

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

今回はここまで。

  次回の配信は未定です。

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

◆質問・ご意見ははこちらまで→ banban@scollabo.com

 なお、ご質問の際には、あなたがお使いのOS、ブラウザ、テキストエディタな
 ど、なるべく分かりやすく制作環境を明記していただけると回答しやすくなる
 と思います。
  ただし、個人的な事由により返事が遅れることがあります。ご了承ください。
 お急ぎの場合には、当サイト内の掲示板をご利用ください。きっと誰かが答え
 てくれると思います。

 発行者 ばんばん
 協力  スズキ・コラボレーション http://www.scollabo.com/
 配信エンジン まぐまぐ http://www.mag2.com/  (ID 0000090196)

  誤字・脱字・変換ミス・表現欠乏などには、平にご容赦願います。

 ■バックナンバー こちらで公開しています。
 プレーンテキスト  http://www.scollabo.com/banban/magazine.html
 各号のおさらい  http://www.scollabo.com/banban/magazine/
 アーカイブ    http://www.scollabo.com/banban/daf/archive.html
 まぐまぐ     http://backno.mag2.com/reader/Back?id=0000090196

 ■配信の変更・中止はこちらです。
 個別の手続きは受け付けていませんので、ご面倒でも各自でお願いできれば助
 かります。
  当サイトにて http://www.scollabo.com/banban/magazine/top.html
  まぐまぐにて http://www.mag2.com/m/0000090196.htm

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

<えでぃた〜ず・る〜む>

 とうとう6月は一度も配信できませんでした。読者の皆様には本当に申し訳な
 いと思っております。次回はいよいよ当メールマガジンの最終配信になります。
 なるべく早い時期にお届けするように努力します。

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

◆著作権について
 個人がご自分のPCに保存して利用する以外の記事の転載、引用は基本的に応
 じておりません。記事中の内容について、無断で使用することを固く禁じます。
  なお、記事中のスタイルシート、スクリプト、HTMLをご自分のページ作成に
 自由に使っていただいても差し支えありません。

            Copyright(C) 2002-2005  www.scollabo.com/banban/
□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□


This page is Valid HTML 4.01! 最新公開日 2005年7月28日
Copyright(C) 2002-2004 banban@scollabo.com