22
1 JavaScript 成成 成成 成成 成 成成 成

JavaScript 成瀬 基樹 平野 敦 北浦 繁

Embed Size (px)

DESCRIPTION

JavaScript 成瀬 基樹 平野 敦 北浦 繁. JavaScript. JavaScriptは現在の ウェブアプリケーションに必須の技術 Google,Twitter,Wikipedia Ajax Javaと完全に別物 記法こそ似ているものの構造は全く別物 Webアプリケーションの処理をクライアントに行わせることができる. 歴史. ネットスケープコミュニケーションズが開発 Netscape Navigator2.0で実装 - PowerPoint PPT Presentation

Citation preview

Page 1: JavaScript 成瀬 基樹 平野 敦 北浦 繁

1

JavaScript

成瀬 基樹平野 敦北浦 繁

Page 2: JavaScript 成瀬 基樹 平野 敦 北浦 繁

2

JavaScript

■ JavaScript は現在のウェブアプリケーションに必須の技術

■ Google , Twitter , Wikipedia Ajax

■ Java と完全に別物 記法こそ似ているものの構造は全く別物

■ Web アプリケーションの処理をクライアントに行わせることができる

Page 3: JavaScript 成瀬 基樹 平野 敦 北浦 繁

3

歴史■ ネットスケープコミュニケーションズが開発

Netscape Navigator2.0 で実装

■ 当時 ('95) 大注目だった Java を作った ( 故 ) サン・マイクロシステムズと提携関係にあったため、その名をあやかって JavaScript に変更された

( 元: LiveScript)■ Google を筆頭に徐々に使い始められる

それまでは嫌われ者

■ その後 JavaScript による非同期通信が発達 Ajax

Page 4: JavaScript 成瀬 基樹 平野 敦 北浦 繁

4

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>

<body onload="helloWorld();"> <p>JavaScript の世界へようこそ </p> </body></html>

Page 5: JavaScript 成瀬 基樹 平野 敦 北浦 繁

5

書き方■ HTML 文書内に書きこむ場合<script type=”text/javascript”><!--

処理//-->

</script>

■ 外部ファイルに書き込む場合<script type=”text/javascript” src=”hoge.js”></script>

HTMLのコメントタグでくくる

Page 6: JavaScript 成瀬 基樹 平野 敦 北浦 繁

6

文法 - 変数 -■ 変数の宣言

ローカル変数 var 変数名

グローバル変数 変数名

関数外で宣言すると, var をつけてもグローバル変数になる

■ 使用可能文字は「 a-zA-Z0-9$_ 」

※一文字目は数字禁止

■ 型の指定をしない

Page 7: JavaScript 成瀬 基樹 平野 敦 北浦 繁

7

基本データ型■ 基本データ型

boolean true , false

number 数字(整数、実数)

string 文字列

■ 特殊な値 null

値なし undefined

未定義 NaN

数字ではない Infinity

無限

Page 8: JavaScript 成瀬 基樹 平野 敦 北浦 繁

8

文法■ 行末の「 ; 」は省略可能であるが,省略すべきではない

■ キャメル記法を用いることが多い var heartCatch = true;

Page 9: JavaScript 成瀬 基樹 平野 敦 北浦 繁

9

構文■ 演算子は基本的に C と同様だが例外もあり

割り算は小数を返す alert(2/3);

数値と文字列を足すと文字列を返す

var hoge= 1+"String";alert(typeof hoge);

データ型を文字列で返す

C と同じ

引数を表示するダイアログをポップアップ

If 文switch 文For 文while 文do while 文コメント文

Page 10: JavaScript 成瀬 基樹 平野 敦 北浦 繁

10

文法:例題■ とりあえずはろわ

alert() を使って helloworld を表示させよう<html> <head> <title> はろわ </title> </head> <body> ( ここに処理を書く ) </body></html>

■ True or False if 文で以下の値の評価が true,false どっちになる

か調べてみよう 0, 1, "", [], null, undefined, NaN, Infinity

Page 11: JavaScript 成瀬 基樹 平野 敦 北浦 繁

11

オブジェクト

NumberStringBooleanArrayMathDateFunctionObjectRegExp

■ オブジェクトの作り方var hoge = new Hoge();

■ 基本オブジェクトの種類

あまり使わない・・・

すべての型をオブジェクトタイプとして実装するゾ

よく使う!

Page 12: JavaScript 成瀬 基樹 平野 敦 北浦 繁

12

オブジェクト - 配列 -■ 宣言

var 配列名 = new Array();

配列名 [0] = "abc";

配列名 [1] = 72; var 配列名 = new Array("abc", 72); var 配列名 = [“abc”, 72];

■ アクセス var hoge = 配列名 [0];

大きさの指定はしなくても良い

何でも入る

Page 13: JavaScript 成瀬 基樹 平野 敦 北浦 繁

13

ブラウザオブジェクト■ブラウザオブジェクトモデル 下図

オブジェクトからブラウザ上の値を取得 , 変更できる

Page 14: JavaScript 成瀬 基樹 平野 敦 北浦 繁

14

ブラウザオブジェクト■ window

根っこの部分 ウィンドウが持っている値を保持

要するに全部 プロパティ

- window.status // ステータスバーの値- window.closed // ウィンドウが閉じているか- window.document //document オブジェクト- etc...

メソッド- window.open() // 新たなウィンドウを作成する- window.alert() // 警告ダイアログ- window.setTimeout() // 指定時間後に関数を実行- etc...

window. は省略できる alert()

Page 15: JavaScript 成瀬 基樹 平野 敦 北浦 繁

15

ブラウザオブジェクト■ document

(window.)document ページの情報を保持

プロパティ- document.forms //Form オブジェクトの入った配列- document.bgColor // 背景色- document.title // タイトル- etc...

メソッド- document.open()// ひらいて- document.write() // かいて- document.close() // とじて- etc...

他にもいっぱい

Page 16: JavaScript 成瀬 基樹 平野 敦 北浦 繁

16

文書内のオブジェクトを得る

HTML<form name=”form1” > <input type="text" name="text1" id=”formText1”/></form>

JavaScriptvar foo = document.form1.text1;var bar = document.getElementById(“formText1”);

■ JavaScript からテキストフィールドにアクセス

■ foo と bar は「 <input type="text" name="text1" value="hoge" /> 」というオブジェクトになる

Page 17: JavaScript 成瀬 基樹 平野 敦 北浦 繁

17

ブラウザオブジェクト:例題■ JavaScript で HTML 文書内にはろわを表示する

■ document.write( 文字列 ); で body 内にかけるよ!

Page 18: JavaScript 成瀬 基樹 平野 敦 北浦 繁

18

文法 - 関数 -function 関数名 ( 引数 ){

// 処理}

var 関数名 = function( 引数 ){// 処理

}

戻り値の型,引数の型を指定しない 値を返す場合は C と同じ

return hoge; 呼び出し方も C と同じ

関数名 ( 引数 )

無名関数

Page 19: JavaScript 成瀬 基樹 平野 敦 北浦 繁

19

イベント■ HTML や, XHTML の属性値として指定

○○が行われた場合に関数実行するように指示 「 onsubmit 」の様に接頭辞 on を付けて全て小文字

イベント名 説明mouseover マウスがオブジェクトに合わさったとき

focus オブジェクトがフォーカスを得たとき

click オブジェクトをクリックしたとき

contextmenu

コンテキストメニューが表示されるとき

load イメージやページの読み込み終了時

submit submit が実行されたときその他

Page 20: JavaScript 成瀬 基樹 平野 敦 北浦 繁

20

イベント:例題■ボタンを押すと警告ダイアログをポップアップす

る。イベントで関数を呼び出そう。

Page 21: JavaScript 成瀬 基樹 平野 敦 北浦 繁

21

必須課題■ BMI を計算する■ これと同じようなものを作る

Page 22: JavaScript 成瀬 基樹 平野 敦 北浦 繁

22

任意課題■任意課題 1

入力された値がメールアドレスかどうかチェック 参照: RFC5322

■任意課題 2 自由