JavaScript 成瀬 基樹 平野 敦 北浦 繁 JavaScript ■ JavaScriptは現在の ウェブアプリケーションに必須の技術 ■ Google,Twitter,Wikipedia ■ Javaと完全に別物 ■ Ajax 記法こそ似ているものの構造は全く別物 Webアプリケーションの処理をクライアントに行 わせることができる 歴史 ネットスケープコミュニケーションズが開発 Netscape Navigator2.0で実装 ■ 当時('95)大注目だったJavaを作った(故)サン・マイ クロシステムズと提携関係にあったため、その名 をあやかってJavaScriptに変更された (元:LiveScript) ■ Googleを筆頭に徐々に使い始められる それまでは嫌われ者 ■ その後JavaScriptによる非同期通信が発達 Ajax ■ JavaScriptの例 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <title>JavaScript Example</title> <script type="text/javascript"> //<![CDATA[ function helloWorld(){ var str = "Hello World"; document.body.textContent = str; } //]]> </script> </head> helloWorld(); <body onload=" "> <p>JavaScriptの世界へようこそ</p> </body> </html> 書き方 HTML文書内に書きこむ場合 <script type=”text/javascript”> ■ <!-処理 HTMLのコメントタグでくくる //--> </script> 外部ファイルに書き込む場合 <script type=”text/javascript” src=”hoge.js”> </script> ■ 文法-変数変数の宣言 ローカル変数 ■ 使用可能文字は 「a-zA-Z0-9$_」 ※一文字目は数字禁止 グローバル変数 var 変数名 ■ 変数名 関数外で宣言すると ,varをつけてもグ ローバル変数になる ■ 型の指定をしない 基本データ型 基本データ型 boolean ■ true,false number 数字(整数、実数) string 特殊な値 null ■ undefined 文字列 未定義 NaN 値なし 数字ではない Infinity 無限 文法 ■ 行末の「;」は省略可能であるが, 省略すべきではない ■ キャメル記法を用いることが多い var heartCatch = true; 構文 演算子は基本的にCと同様 だが例外もあり ■ 割り算は小数を返す alert(2/3); If文 switch文 For文 while文 do while文 コメント文 引数を表示する ダイアログをポップアップ 数値と文字列を足すと 文字列を返す var hoge= 1+"String"; alert(typeof hoge); データ型を文字列で返す Cと同じ 文法:例題 とりあえずはろわ alert()を使ってhelloworldを表示させよう ■ <html> <head> <title>はろわ</title> </head> <body> (ここに処理を書く) </body> </html> True or False if文で以下の値の評価がtrue,falseどっちになる か調べてみよう 0, 1, "", [], null, undefined, NaN, Infinity ■ オブジェクト ■ ■ オブジェクトの作り方 var hoge = new Hoge(); すべての型を オブジェクトタイプ として実装するゾ 基本オブジェクトの種類 Number あまり使わない・・・ String Boolean Array Math Date よく使う! Function Object RegExp オブジェクト-配列宣言 大きさの指定はしなくても良い var 配列名 = new Array(); ■ 配列名[0] = "abc"; 何でも入る 配列名[1] = 72; var 配列名 = new Array("abc", 72); var 配列名 = [“abc”, 72]; ■ アクセス var hoge =配列名[0]; ブラウザオブジェクト ブラウザオブジェクトモデル 下図 ■ オブジェクトからブラウザ上の値を 取得,変更できる ブラウザオブジェクト window 根っこの部分 ウィンドウが持っている値を保持 要するに全部 プロパティ ■ メソッド - window.status //ステータスバーの値 window.closed //ウィンドウが閉じているか window.document //documentオブジェクト etc... window.open() //新たなウィンドウを作成する window.alert() //警告ダイアログ window.setTimeout() //指定時間後に関数を実行 etc... window.は省略できる alert() ブラウザオブジェクト document (window.)document ページの情報を保持 ■ プロパティ - メソッド - document.forms //Formオブジェクトの入った配列 document.bgColor //背景色 document.title //タイトル etc... document.open() //ひらいて document.write() //かいて document.close() //とじて etc... 他にもいっぱい 文書内のオブジェクトを得る ■ JavaScriptからテキストフィールドにアクセス HTML <form name=”form1” > <input type="text" name="text1" id=”formText1”/> </form> JavaScript var foo = document.form1.text1; var bar = document.getElementById(“formText1”); fooとbarは 「<input type="text" name="text1" value="hoge" />」 というオブジェクトになる ■ ブラウザオブジェクト:例題 ■ JavaScriptでHTML文書内にはろわを表示する ■ document.write(文字列);でbody内にかけるよ! 文法-関数function 関数名(引数){ //処理 } 無名関数 var 関数名 = function(引数){ //処理 } 戻り値の型,引数の型を指定しない 値を返す場合はCと同じ return hoge; 呼び出し方もCと同じ 関数名(引数) イベント HTMLや,XHTMLの属性値として指定 ○○が行われた場合に関数実行するように指示 ■ 「onsubmit」の様に接頭辞onを付けて全て小文字 イベント名 説明 mouseover マウスがオブジェクトに合わさったとき focus オブジェクトがフォーカスを得たと き click オブジェクトをクリックしたとき contextmenu コンテキストメニューが表示される とき load イメージやページの読み込み終了時 submit submitが実行されたとき イベント:例題 ■ ボタンを押すと警告ダイアログをポップアップする。 イベントで関数を呼び出そう。 必須課題 ■ ■ BMIを計算する これと同じようなものを作る 任意課題 任意課題1 入力された値がメールアドレスかどうかチェック ■ ■ 参照:RFC5322 任意課題2 自由
© Copyright 2024 ExpyDoc