第7回 Javascript入門

Similar documents
Microsoft PowerPoint _2b-DOM.pptx

第7回 Javascript入門

Microsoft Word - no06.doc

NetworkApplication-09

Web データ管理 JavaScript (1) (4 章 ) 2011/12/7( 水 ) 湘南工科大学講義資料 Web データ管理 (2011) 阿倍 1/21

PowerPoint プレゼンテーション

Microsoft PowerPoint - ruby_instruction.ppt

Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y 小幡智裕

JavaScript 演習 2 1

第7回 Javascript入門

医療者のための情報技術入門第 9 回プログラムがはたらくしくみを学ぶ (2) 日紫喜光良 概要 1. はじめに- 具体例から ここから Javascript のプログラミング入門 次はどうする--

E4X in Firefox nanto_vi (TOYAMA Nao)

JavaScript演習

JavaScriptプログラミング入門 2.JavaScriptの概要

Java講座

JavaScript 1.! DOM Ajax Shelley Powers,, JavaScript David Flanagan, JavaScript 2

Microsoft Word 基_シラバス.doc

PowerPoint プレゼンテーション

第5回 マインクラフト・プログラミング入門

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

文字列操作と正規表現

Microsoft PowerPoint - JavaScript.pptx

Si 知識情報処理

第 8 回の内容 クライアントサイド処理 JavaScript の基礎

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

World Wide Web =WWW Web ipad Web Web HTML hyper text markup language CSS cascading style sheet Web Web HTML CSS HTML

pp2018-pp9base

第6回 CSS入門(つづき)

Microsoft Word _VBAProg1.docx

Webプログラミング演習

ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : K 氏名 : 當銘孔太

Javaの作成の前に

Webデザイン論

Web データ管理 JavaScript (3) (4 章 ) 2011/12/21( 水 ) 湘南工科大学講義資料 Web データ管理 (2011) 阿倍 1/18

PowerPoint プレゼンテーション

演習室の PC のハードディスクには演習で作成したデータは保管できません 各 PC の ネットワーク接続 ショートカットからメディア情報センターのサーバーにアクセスしてください (Z ドライブとして使用できます ) 演習名 使用するフォルダ 演習 1 Z: Web データ管理 演習

合宿事前講座 Web 開発の基本編その 2 情報研究会モブ 薗田海樹 The. H.30 情報研究会 1

Microsoft PowerPoint - prog03.ppt

目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い 10.Netフレームワーク 10 開発資料 10 第 2 章 Mono 11 Monoの歴史 1

Prog2_12th

メディプロ1 Javaサーブレット補足資料.ppt

デジタル表現論・第6回

コンテンツメディアプログラミング実習2

メディプロ1 Javaプログラミング補足資料.ppt

19 ステップで 2 大人気スクリプト言語を学ぶ GUI のあるアプリを作る STEP11 から STEP12 までまとめ 1.Python での GUI アプリ作成 Python は標準ではグラフィックスの機能を持ちませんが ライブラリを使うことで GUI のアプリを作成することができる そこで

Microsoft PowerPoint - chap10_OOP.ppt

Microsoft PowerPoint - ●SWIM_ _INET掲載用.pptx

レコードとオブジェクト

C#の基本2 ~プログラムの制御構造~

Microsoft Word - wpphpmysql.doc

transform: translatex(x 方向の移動距離 ) transform: translatey(y 方向の移動距離 ) transform: translate(x 方向の移動距離, Y 方向の移動距離 ) transform: translate 関数は 移動する位置ではなく 移動

第 3 回 Java 講座 今回の内容 今週の Java 講座はコレクション 拡張 for 文, ガベージコレクションについて扱う. 今週の Java 講座は一番内容が薄いも のになるだろう. コレクション コレクションとは大きさが決まっていない配列だと考えればよい. コレクションには List 先

デジタル表現論・第4回

5回目(JavaScript1)

SVG資料第6回目(その3) SVGとHTMLの間でデータを交換する

SmartBrowser_document_build30_update.pptx

PowerPoint プレゼンテーション


Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問

JavaScriptで プログラミング

JavaScript演習

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

Web プログラミング 1 JavaScript (3) (4 章 ) 2013/7/3( 水 ) 日時 講義内容 4/10 ( 水 ) ガイダンス Web (1 章 ) 4/17 ( 水 ) HTML+CSS (1) (2 章 ) 4/24 ( 水 ) HTML+CSS (2) (2 章 ) 5/

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

サンプル CSS web ページを開くと同時にピエロの玉乗りが動き出すアニメーションを作ってみましょう AnimeAuto の説明 HTML の記述 (AnimeAuto.html) ピエロの画像に pierrot という id を 玉の画像に ball という id を付けておきます <!DOCT

Web プログラミング 1 JavaScript (4) (4 章 ) 2013/7/17( 水 ) 日時 講義内容 4/10 ( 水 ) ガイダンス Web (1 章 ) 4/17 ( 水 ) HTML+CSS (1) (2 章 ) 4/24 ( 水 ) HTML+CSS (2) (2 章 ) 5

PowerPoint プレゼンテーション

数のディジタル化


LeafletとCesiumを切り替えて使用するライブラリS-mapの公開

4-4- 基スクリプト言語に関する知識 コードの作成や修正が容易とされるスクリプト言語を学習し アプリケーション開発の手法を習得する 本カリキュラムでは まずスクリプト言語に位置づけされる Perl PHP Python JavaScript Ruby といった Ⅰ. 概要プログラミング言語の特徴に

untitled

JavaScript演習

子ボックスや孫ボックスなどに position: absolute; と指定すると それぞれ親ボックスに対する絶対位置で配置できるので親ボックスの上に複数の子ボックスや孫ボックスを重ねて配置することができます トランジションやアニメーションを作成するときに非常に便利なので覚えておきましょう top

JavaプログラミングⅠ

overflow プロパティの指定は 親ボックスのスタイルに記述します overflow プロパティは position プロパティ (position: static; 以外 ) の指定がされていなと適用されません ボックスの外にはみ出た部分を表示させたくないときに hidden を使用します サ

第 1 章 JavaScript/jQuery JavaScript とは JavaScript( ジャバスクリプト ) は HTML や CSS また PHP などでは実現することの難しい さまざまな効果を Web ページ上で実現できるスクリプト言語です 一時期 Web ページ作成に

WEBシステムのセキュリティ技術

実験 5 CGI プログラミング 1 目的 動的にWebページを作成する手法の一つであるCGIについてプログラミングを通じて基本的な仕組みを学ぶ 2 実験 実験 1 Webサーバの設定確認と起動 (1)/etc/httpd/conf にある httpd.conf ファイルの cgi-bin に関する

transform: skewx(x 軸の傾斜角度 ) transform: skewy(y 軸の傾斜角度 ) transform: skew(x 軸の傾斜角度, Y 軸の傾斜角度 ) skewx( ) は X 軸に沿って傾斜します skewy( ) は Y 軸に沿って傾斜します skew( ) は

Microsoft PowerPoint - exp2-02_intro.ppt [互換モード]

情報システム設計論II ユーザインタフェース(1)

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

前ページからの続き // テキストボックス02 id 属性で取得 // id 属性で取得する場合は一意に決まるので 何番目かの指定は不要 var textbox02elem = document.getelementbyid("text_box02_id"); if ("001" == statee

JavaプログラミングⅠ

Microsoft PowerPoint - 計算機言語 第7回.ppt

メソッドのまとめ

プログラミング入門1

Microsoft PowerPoint - diip ppt

C#の基本

プログラミング基礎I(再)

2017年COM実験_JavaScript演習資料

フローチャート自動生成ツール yflowgen の使い方 目次 1 はじめに 本ツールの機能 yflowgen.exe の使い方 yflowgen.exe の実行方法 制限事項 生成したファイル (gml ファイル形式 ) の開

Microsoft PowerPoint - CSS(Cascading Style Sheets)の基本.pptx

SOC Report

◎phpapi.indd

第 2 章インタフェース定義言語 (IDL) IDL とは 言語や OS に依存しないインタフェース定義を行うためのインタフェース定義言語です CORBA アプリケーションを作成する場合は インタフェースを定義した IDL ファイルを作成する必要があります ここでは IDL の文法や IDL ファイ

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

JEB Plugin 開発チュートリアル 第4回

Transcription:

Slide URL https://vu5.sfc.keio.ac.jp/slide/ Web 情報システム構成法第 8 回 JavaScript 入門 萩野達也 (hagino@sfc.keio.ac.jp) 1

Web ページの構成要素 直交技術を組み合わせる 内容 スタイル ( 表現方法 ) プログラミング スタイル プログラミング JavaScript CSS Web ページ Web 文書 HTML 内容 2

動きのあるページ HTML および CSS は静的である. 宣言的であり編集が容易 問題点 サーバがないと動作しない フォームの入力のチェックはサーバに送られて初めて行われる ページを移行せずに内容を変化させることができない 天気の変化 ニュースのアップデート ブラウザでのアニメーションなどがやりにくい GIF アニメーションでは不足 3

Java Applet Java 1995 年にサンマイクロシステムズによって開発本格的なオブジェクト指向プログラミング言語組み込み機器などへの応用のために考えられた Java 仮想機械 (JVM) を使うことで, コンパイル後のオブジェクトコードをさまざまなPCや機器で動作させることができる Java Applet ブラウザの中でJavaのアプリケーションを動作させる最初 Javaで書かれたHotJavaブラウザ上で動作した Netscapeに組み込まれたことから普及アニメーションなどができることで人気となるセキュリティ的配慮からJava Appletは独立したもので, ブラウザや動作環境にアクセスすることが基本的にできない ブラウザ (1)Java のコードが転送 Web サーバ ファイルサーバ 4 (2) ブラウザで Java の実行 HTML applet

JavaScript Java Applet 問題点 ブラウザから独立している HTML や CSS とは独立 画像のような扱い JavaScript ネットスケープコミュニケーションズが開発 1996 年にInternet Explorer 3.0に搭載されて普及 HTMLやCSSにアクセスできる 当初はブラウザ側での簡単なアニメーションやフォームの入力チェックや補助に利用できる クライアント側での本格的なアプリケーションの開発も可能になった Google Map 標準化 ECMAScript 5

JavaScript 基本 構文 C 言語をまねる ({} によるブロック構造 ) 無名関数 ( ラムダ式 ) あり 関数クロージャを作ることができる データ スクリプト言語なので静的な型チェックは行わない連想配列による構造体でデータ構造を作る プロトタイプベースのオブジェクト指向 静的なクラスが存在しないインスタンスベースとも呼ばれるプロトタイプをコピーすることでオブジェクトが作られる コピーすることで継承するコピー後は新たなプロパティを自由に追加可能 クラスチェーンではなくプロトタイプチェーンが存在 オブジェクトのプロトタイプチェーンをたどることでメソッドを継承 6

JavaScript の基本構文 変数宣言 var 変数, 変数,, 変数 ; var 変数 = 式 ; let 変数, 変数,, 変数 ; let 変数 = 式 ; 代入 ( 代入式 ) 変数 = 式 関数スコープ ローカルスコープ 条件文 if ( 条件式 ) 文 else 文 if ( 条件式 ) 文 繰り返し while ( 条件式 ) 文 for ( 初期式 ; 条件式 ; 繰り返し式 ) 文 do 文 while ( 条件式 ) 特別な繰り返しイテレータ用 for ( 変数 in 連想配列 ) 文 for ( 変数 of イテレータ ) 文 ブロック ( 文のグルーピング ) { 文 ; 文 ; ; 文 ; } 7

JavaScript の基本データ 真偽値 trueとfalseのみ nullとundefined 未定義の場合 undefined 数字 整数, 浮動小数点 2 進,8 進,16 進表記も可能 var x = '333'; var y = '111'; x + y ----> "333111" x - y ----> 222 8 文字列 ' あるいは " で囲まれた文字列 + で文字列の結合が可能 数字の加算との混在に注意 文字列と数値の変換は自動的に行われる オブジェクト オブジェクトは連想配列です 添え字 ( インデックス ) と値の対の集合 C 言語での構造体にも近い 通常の配列も連想配列の特別な場合 添え字が自然数 Arrayオブジェクト var obj = {width: 100, height: 80 }; var obj = {}; obj['width'] = 100; obj.height = 80; var a = [100, 80]; var b = {0: 100, 1: 80}; b. proto = Array.prototype; var c = new Array(100, 80);

関数の宣言 function キーワードを使って定義 関数名と引数と本体からなる function square(x, y) { var z; z = x * x + y * y; return z; } 関数名 引数 ローカル変数宣言 本体 return 文 無名関数 ( ラムダ式 ) 名前を付けない関数 値として使う 9 var square; square = function (x, y) { var z; z = x * x + y * y; return z; } function counter() { var x = 0; return function () { return x++; }; }

オブジェクトの例 Array 配列 new Array( ) 以外に [, ] でも生成 length プロパティが大きさを保持 push, pop, shift など配列操作のメソッドを保持 Math newすることはない Math.abs, Math.max, Math.random など数値に関するメソッドを保持するオブジェクト RegExp 正規表現正規表現による文字列の検索や置換などのメソッドを保持 /ab+c/i あるいは new RegExp('ab+c', 'i') で生成 Object すべてのオブジェクトの元プロトタイプチェーンの一番上流にある 10

JavaScript オブジェクトの仕組み function abc(x) { } 関数 abc 空のオブジェクト abc.prototype.xyz = function(y) { }; prototype {} xyz メソッド プロトタイプチェーン proto var def = new abc(123); def {} def.xyz(567); uvw 値 'hello' def.uvw = 'hello'; 11

HTML と JavaScript script 要素 HTML への JavaScript の埋め込み head 内および body 内で利用できる defer 属性がない場合には, 即実行される defer が指定されると文書をすべて読み終えてから実行される <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>javascript の実験 </title> <script src="myscript.js"></script> </head> <body> <h1>javascript</h1> <script> window.alert("hello, World!"); </script> <p> テスト </p> <script src="mysecond.js"></script> </body> </html> 外部の JavaScript ファイルを参照 JavaScript を直接埋め込む <script や </script や </ を内部に含んではいけない 12

DOM Document Object Model HTML はブラウザで構文解析 ( パース ) され, オブジェクトの木構造となる. <!DOCTYPE html> <html> <head> <title> 実験 </title> </head> <body> <h1>javascript</h1> <p><a href="...">sfc</a> は良いところ.</p> </body> </html> head title Element Document html Element body h1 Element p Element Element 実験 Text JavaScript Text Attribute href Element a Text SFC Text は良い... 13...

document オブジェクト document オブジェクト HTMLページを表すオブジェクト DOMの必要な要素を取得することが可能 メソッド document.getelementbyid(id) document.getelementsbytagname(tagname) document.getelementsbyclassname(classname) 要素の内容 属性の変更 element.innerhtml = "content"; element.textcontent = "content"; element.attribute = "value"; element.setattribute("attribute", "value") element.style.property = "value"; 要素の追加変更 document.createelement(tagname) document.createtextnode(text) 説明 idにより要素を取得要素名での要素の集合の取得 class 名での要素の集合の取得要素の内容の変更要素のテキスト内容の変更属性の変更属性の変更スタイル属性の変更新しい要素を生成テキストノードを作成 14

要素の挿入 削除 document.createelement で作成した要素を挿入 メソッド parent.appendchild(element) parent.insertbefore(sibling, element) 説明 要素を親要素の最後に挿入 指定要素の前に挿入 要素の削除 置き換え parent.removechild(element) parent.replacechild(old, element) 親要素から指定された子要素を削除 親要素から指定された子要素を置き換える DOM ノード関係のプロパティ element.childnodes すべての子要素 ( ノード ) のリスト element.firstchild 最初の子要素 ( ノード ) element.lastchild 最後の子要素 ( ノード ) element.parentnode 親要素 ( ノード ) 15

例 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>test for JavaScript</title> </head> <body> <h1>javascript</h1> <p id="id1">javascript は難しい.</p> <p id="id2"></p> <script> var p1 = document.getelementbyid("id1"); var t1 = document.createtextnode(" いや簡単."); p1.appendchild(t1); var p2 = document.getelementbyid("id2"); p2.textcontent = " ためしてみよう."; p2.style.color = "red"; p2.style['text-align'] = "center"; var plist = document.getelementsbytagname('p'); for (var i = 0; i < plist.length; i++) { plist[i].style['font-size'] = '20px'; } </script> </body> </html> 要素を探し出しテキストノードを追加 要素を探し出しテキストの変更スタイルの変更 複数の要素を探し出しスタイルの変更 16

課題 :JavaScript でページを作成 作っているオンラインショッピングのトップページと同じものをJavaScriptを使って作成しなさい. innerhtmlは利用しないこと CSSのスタイルもJavaScriptで指定すること 提出 https://vu5.sfc.keio.ac.jp/kadai/ HTML(JavaScript) を提出 JavaScriptはHTMLに埋め込むこと締め切り : 6 月 10 日正午 myshop-js.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> オンラインショッピング </title> </head> <body id="body"> <script> var body = document.getelementbyid("body"); var h1 = document.createelement('h1'); h1.textcontent = " オンラインショップ "; body.appendchild(h1);... </script> </body> </html> 17

まとめ JavaScript 基本構文 基本データ オブジェクト 連想配列 プロトタイプベース DOM DOM 木 document オブジェクト 18