Movatterモバイル変換


[0]ホーム

URL:


Yuki Ishikawa, profile picture
Uploaded byYuki Ishikawa
PDF, PPTX16,946 views

JavaScriptことはじめ

2014/06/08(日) @株式会社ガイアックス

Embed presentation

Download as PDF, PPTX
JavaScriptことはじめ2014/06/08(日) @株式会社ガイアックス
ほと(@hoto17296)• 株式会社ガイアックス
新卒エンジニア• Ruby好き• JavaScript歴8年くらい
今日やること• (Web開発における) JavaScript入門• jQuery• Ajax• オブジェクト指向
今日やらないこと• JavaScriptフレームワーク(知らない)• サーバーサイドJavaScript(知らない)• JavaScriptでスマホアプリ開発(知らない)• JavaScriptのテスト手法(知らない)
JavaScript 概要
JavaScript とは• Javaではない!!!• Javaに記法を似せて作ったのが由来らしい• が、全然似てない(と思う)• 全く異なる言語
JavaScript とは• ブラウザ上で実行できる唯一のプログラム言語• Web開発するなら避けて通れない• TypeScript?Dart?なにそr…
ブラウザごとに実装Google V8SpiderMonkeyNitroChakra
ECMAScript とは• JavaScriptの標準化仕様• 各ブラウザによる ECMAScript 実装を
JavaScript と呼ぶ• 詳しくはWikipedia読もう
JavaScript の特徴• DOMを操作できる• 動的型付け• イベントドリブン• オブジェクト指向
JavaScript の特徴• DOMを操作できる• 動的型付け• イベントドリブン• オブジェクト指向
DOMを操作できる• DOM: Document Object Model• マークアップ文書(HTMLとか)の構造に
アクセスするためのAPI• ほぼすべてのブラウザで実装されている• 要するに、JavaScriptはWebページを
動的に書き換えたりできるということ
JavaScript の特徴• DOMを操作できる• 動的型付け• イベントドリブン• オブジェクト指向
動的型付け• 実行されるまでデータの型がわからない• 一般的に、動的型付け言語は遅い• が、JavaScriptは速い
動的型付け言語 条件 結果JavaScript Chrome 31.0 (V8) 0.385 secRuby 2.0.0p353 5.345 secPython 2.7.5 15.726 secPHP 5.5.7 26.398 secPerl 5.16.3 39.230 sec【ベンチマーク対決】竹内関数でたらいまわし ¦ 熊本でWEB開発もホームページ制作もしない
http://www.mixp.net/javascript/360
JavaScript の特徴• DOMを操作できる• 動的型付け• イベントドリブン• オブジェクト指向
イベントドリブン• イベントが起こったら処理が実行される• ○○ を したときに △△ する• 例: 送信ボタン を クリック した時に
   バリデーション をする
JavaScript の特徴• DOMを操作できる• 動的型付け• イベントドリブン• オブジェクト指向
オブジェクト指向• すべてのデータはオブジェクト• 関数ですら第一級オブジェクト• 関数を変数に代入できる• 関数に関数を渡せる• えっ でもJavaScriptってクラスないじゃん• オブジェクトリテラル クラス
ここまでで何か質問は
( ・ ・)ノ
JavaScriptの文法
変数• var文 を使うと宣言できる• $ 付けなくていい• 宣言されてない変数にも代入できる• グローバルスコープになってしまう• あまりやらないほうがいい
変数のスコープ• 外側 → 内側: 見えない• 内側 → 外側: 見える
データ型いろいろデータ型 意味 例String 文字列 hogehoge , 123Number 数値 123, 3.14, 0xFF, Infinity, NaNBoolean 論理値 true, falseObject オブジェクト オブジェクトリテラル, 関数 などArray 配列 [ 1, 1, 2, 3, 5, 8 ]Null Null nullundefined 未定義 undefined
オブジェクトリテラル• RubyやPerlでいうところのハッシュ• 配列や関数も入れることができる
関数• return は省略できない• 引数のデフォルト値は指定できない
演算子いろいろ演算子名 例代入演算子 = += -= *= /= %= $= ^= ¦= など比較演算子 == != === !== > >= < <=算術演算子 + - * / % ++ ̶ -ビット演算子 & ¦ ^ << >> >>>論理演算子 && ¦¦ !文字列演算子 + +=特殊演算子 delete in new this typeof など
文字列演算子• JavaScriptの文字列連結は「 + 」!!• 型に注意
条件式• 後置構文は使えない( 式 if 条件; みたいなやつ )• () や {} は省略できない
繰り返し(1)• break でループ終了• continue で次のループ
繰り返し(2)• オブジェクトリテラルの要素を順番に取り出す• foreach と同じ感覚で使うと痛い目見る
DOM関連
windowオブジェクトプロパティ例 意味window.alert( msg ) アラートを表示window.confirm( msg ) 確認ダイアログを表示window.document ドキュメントオブジェクト(後述)• ウィンドウに関するあらゆるプロパティが
取得できる• 「window. 」は省略できる
documentオブジェクト• html文書そのものを表すオブジェクト• ここからDOMツリーにアクセスできるプロパティ例 意味document.title ページタイトルdocument.cookie クッキーデータdocument.getElement
ById( id )指定された id を持つ
要素オブジェクトを返すdocument.getElements
ByClassName( class )指定された class を持つ
要素オブジェクトリストを返す
(;́ー`) ふぅ…
とりあえず実行してみよう
実行のしかた• コンソールで実行• Chrome or Firefox• 右クリック → 要素の検証 → コンソール• htmlファイルから呼び出し• <script type= ∼∼.js ></script>• htmlファイルに埋め込み
デバッグ方法• ブラウザのコンソールで試してみる• スクリプトに console.log() を埋め込む• スクリプトに debugger を埋め込む
BMIを求めるスクリプト• BMI: ボディマス指数(Body Mass Index)• ヒトの肥満度を表す体格指数ワークBMI =Weight(kg)Height(m)2
BMIを求めるスクリプト• http://bit.ly/js-kotohajime
の「ワーク」ページから
サンプルコードをダウンロードワーク
やることワーク• フォームに入力された値を取得する• BMI指数を計算する• 小数点第2位で四捨五入する• 計算結果を表示する
∼∼ 昼休憩 ∼∼
jQuery とは• JavaScriptライブラリ• JavaScriptをより簡潔に記述できる• 特にDOM操作やAjaxがやりやすい
jQuery とは• バージョン 1系 と 2系 がある• 1系: IE8対応• 2系: IE8非対応・高速
jQuery 関数• jQuery( セレクタ )• $( セレクタ ) とも書ける• CSSライクなセレクタで様々なDOMを選択できる
jQueryでDOM操作新しい div 要素を生成して
.parent クラスを持つ要素の中に追加
jQueryでDOM操作偶数番目の tr要素 に
highlightクラス を追加/削除
jQueryでイベント駆動
データ属性を操作• HTML5のカスタムデータ属性• 要素そのものに任意のデータを
紐付けることができる
ゲーム作ろう( ́ー`)ワーク
エイトクイーン• クイーンを8体ならべるゲーム• どのクイーンも他のクイーンを取れない位置に
置かないといけないワーク
エイトクイーンワーク
サンプルコードの仕様ワーク.queenクイーンを
置いたマス.able
クイーンを
置けるマス.disable
クイーンを
置けないマス
やること• クリックしたマスを queen クラスにする• 置いたクイーンの 縦・横・斜め を
disable クラスにする• ゲームクリアしていたら「おめでとう!」的な
アラートを表示する
Ajax
Ajax とは• Asynchronous JavaScript + XML• 非同期通信• jQueryを使うと便利
JSON• ほと はここで力尽きたようだ
クロスドメイン制約
オブジェクト指向の話
まとめ• JavaScriptはWeb開発では必須知識• 仕組みがわかっていると安全にインターネットを
使える• JavaScriptは簡単に書けるからこそ
スパゲティコードになりがち• jQueryはほどほどに活用しよう

Recommended

PDF
JavaScriptユーティリティライブラリの紹介
PPTX
モテる JavaScript
PDF
最強オブジェクト指向言語 JavaScript 再入門!
PPT
[A 3]SSJSでも使える!Javascriptでオブジェクト指向プログラミング入門
PDF
クライアントサイドjavascript簡単紹介
PDF
JavaScript超入門 基礎
 
PDF
⑲jQueryをおぼえよう!その5
PDF
JavaScript入門-基礎編
 
PDF
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
PDF
ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和
PDF
Scc2014 :jQueryの仕組みを完璧に理解する
PDF
実践Backbone.Marionette 現場の悩みと解決まで
PDF
Backbone.js入門
PDF
backbone.jsの使用例 その1
PDF
JavaScriptの落とし穴
PDF
覚醒!JavaScript
PDF
AngularJS+TypeScript - AngularJS 1周年記念勉強会
PDF
はじめよう Backbone.js
PDF
⑳CSSでアニメーション!その1
PPTX
忙しい人のためのBackbone.jsとAngular.js入門
PDF
メディア芸術基礎 II jQuery入門
PDF
JavaScriptで出来る、あんなことこんなこと
PDF
WebデザイナのためのjQuery入門。
PDF
⑮jQueryをおぼえよう!その1
PDF
Angular js or_backbonejs
PDF
JavaScript Basic 01
PDF
TypeScript 1.0 オーバービュー
PDF
Backbonejs @BuildInsiderOffline #1
PDF
JavaScript 研修
PPTX
Java scriptの基礎

More Related Content

PDF
JavaScriptユーティリティライブラリの紹介
PPTX
モテる JavaScript
PDF
最強オブジェクト指向言語 JavaScript 再入門!
PPT
[A 3]SSJSでも使える!Javascriptでオブジェクト指向プログラミング入門
PDF
クライアントサイドjavascript簡単紹介
PDF
JavaScript超入門 基礎
 
PDF
⑲jQueryをおぼえよう!その5
PDF
JavaScript入門-基礎編
 
JavaScriptユーティリティライブラリの紹介
モテる JavaScript
最強オブジェクト指向言語 JavaScript 再入門!
[A 3]SSJSでも使える!Javascriptでオブジェクト指向プログラミング入門
クライアントサイドjavascript簡単紹介
JavaScript超入門 基礎
 
⑲jQueryをおぼえよう!その5
JavaScript入門-基礎編
 

What's hot

PDF
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
PDF
ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和
PDF
Scc2014 :jQueryの仕組みを完璧に理解する
PDF
実践Backbone.Marionette 現場の悩みと解決まで
PDF
Backbone.js入門
PDF
backbone.jsの使用例 その1
PDF
JavaScriptの落とし穴
PDF
覚醒!JavaScript
PDF
AngularJS+TypeScript - AngularJS 1周年記念勉強会
PDF
はじめよう Backbone.js
PDF
⑳CSSでアニメーション!その1
PPTX
忙しい人のためのBackbone.jsとAngular.js入門
PDF
メディア芸術基礎 II jQuery入門
PDF
JavaScriptで出来る、あんなことこんなこと
PDF
WebデザイナのためのjQuery入門。
PDF
⑮jQueryをおぼえよう!その1
PDF
Angular js or_backbonejs
PDF
JavaScript Basic 01
PDF
TypeScript 1.0 オーバービュー
PDF
Backbonejs @BuildInsiderOffline #1
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和
Scc2014 :jQueryの仕組みを完璧に理解する
実践Backbone.Marionette 現場の悩みと解決まで
Backbone.js入門
backbone.jsの使用例 その1
JavaScriptの落とし穴
覚醒!JavaScript
AngularJS+TypeScript - AngularJS 1周年記念勉強会
はじめよう Backbone.js
⑳CSSでアニメーション!その1
忙しい人のためのBackbone.jsとAngular.js入門
メディア芸術基礎 II jQuery入門
JavaScriptで出来る、あんなことこんなこと
WebデザイナのためのjQuery入門。
⑮jQueryをおぼえよう!その1
Angular js or_backbonejs
JavaScript Basic 01
TypeScript 1.0 オーバービュー
Backbonejs @BuildInsiderOffline #1

Similar to JavaScriptことはじめ

PDF
JavaScript 研修
PPTX
Java scriptの基礎
PDF
Effective JavaScript Ch.1
PDF
Chrome Developer Toolsを使いこなそう!
PPTX
前期講座08
PDF
JavaScript 講習会 #1
 
PDF
JSer Class #1
PPTX
JavaScriptクイックスタート
PDF
Kanazawa.js.Next
PDF
第3回 JavaScriptから始めるプログラミング2016
PDF
JavaScript.Next
PPTX
Java script1
PPT
20090121 J QueryからはじめるJava Script~初級編~
PDF
第四回 JavaScriptから始めるプログラミング2016
PDF
JavaScript.Next Returns
PDF
FirefoxOSで学ぶJavaScript作法
PDF
JavaScript (ECMAScript) 2013
PDF
JavaScript で パックマン! 第5回
PPTX
Javascriptのデザインパターン【勉強会資料】
PDF
Senchaを使うエンジニアが知っておくたった一つのこと
JavaScript 研修
Java scriptの基礎
Effective JavaScript Ch.1
Chrome Developer Toolsを使いこなそう!
前期講座08
JavaScript 講習会 #1
 
JSer Class #1
JavaScriptクイックスタート
Kanazawa.js.Next
第3回 JavaScriptから始めるプログラミング2016
JavaScript.Next
Java script1
20090121 J QueryからはじめるJava Script~初級編~
第四回 JavaScriptから始めるプログラミング2016
JavaScript.Next Returns
FirefoxOSで学ぶJavaScript作法
JavaScript (ECMAScript) 2013
JavaScript で パックマン! 第5回
Javascriptのデザインパターン【勉強会資料】
Senchaを使うエンジニアが知っておくたった一つのこと

More from Yuki Ishikawa

PDF
まだ DOM 操作で消耗してるの?
PDF
闇の魔術に対する防衛術
PDF
Bot に家計を任せる
PDF
( ゚∀゚)o彡° Flux! Flux!
PDF
React+fluxを導入した話
PDF
アニメーションしたい
PDF
peco活用術
PDF
gulp芸
PDF
サーバを運用する時代は終わった
PDF
Apple に依存する僕の生存戦略
PDF
時をかけるほと
PDF
趣きのある Bot
PDF
コンポーネント時代の CSS 設計
PDF
Introduction to GPU Programming in Python
PDF
JavaScript over HTTP/2
PDF
スタートアップのくせになまいきだ
PDF
マッカレル de おうちハック
PDF
ステージング環境のつくりかた
PDF
ラマダーン入門
PDF
新婚旅行を支える技術
まだ DOM 操作で消耗してるの?
闇の魔術に対する防衛術
Bot に家計を任せる
( ゚∀゚)o彡° Flux! Flux!
React+fluxを導入した話
アニメーションしたい
peco活用術
gulp芸
サーバを運用する時代は終わった
Apple に依存する僕の生存戦略
時をかけるほと
趣きのある Bot
コンポーネント時代の CSS 設計
Introduction to GPU Programming in Python
JavaScript over HTTP/2
スタートアップのくせになまいきだ
マッカレル de おうちハック
ステージング環境のつくりかた
ラマダーン入門
新婚旅行を支える技術

JavaScriptことはじめ


[8]ページ先頭

©2009-2025 Movatter.jp