SlideShare a Scribd company logo
jQuery からはじめる JavaScript 〜初級編〜
1.JavaScript の基礎  
JavaScript ・ UpperCamelCase ・間にスペース挟むな!!              ×   javascript                   ×   Java Script                   ×   javaScript  ・読み方は胸はって「じゃゔぁ」でお k
歴史(ググッたらわかるレベル) 誕生 (1995) NetScape の中の人が開発。ネスケ 2.0 で LiveScript としてデビュー 発展 (1995-1996) Microsoft IE との開発競争。機能の増大、仕様の複雑化 統合 (1997)   国際団体の Ecma により ECMAScript として標準化される 普及 ( 〜 2005)     web ページの装飾に。入力チェックに。補助的なポジション Ajax の登場 (2005) 非同期通信による新しい Web インタフェース。再評価高まる モダン js としての再出発 (2005 〜 )   rails とともに prototype .js 登場。新たなライブラリ群 V8 の登場 (2008) 爆速の google chrome リリース。ブラウザ開発競争再燃
つまり… どういうこと? 1. モダン js 童貞が許されるのは小学生までだよね! ・何回も蘇ってるばかりか若返ってる=時代が必要としてる  ・各大型ベンダが盛り上がってる=そこにカネの匂いがある         ->ガラパゴス開発ばっかやってる場合じゃねえ!   2. 今なら相当開発楽なんじゃねえの?? ・すごい人らが、すごいライブラリを沢山用意してくれてる ・もういい加減クロスブラウザ気にしなくて良い…よね?  ・開発環境もちっとはこなれてきてる…はず                          ->機は熟してる!
改めまして…  
JavaScript を知るキーワード ・プロトタイプベース ・ ECMAScript ・ DOM 個人的に知りたいものをチョイスしました
プロトタイプベース ・クラス / インスタンスの関係は(厳密には)無い   ・オブジェクトの振る舞いを動的に変更できる   ・スロット=可変の構造体としてオブジェクトは捉えられる               ... プログラマーは概念よりコード見た方が理解が早い
example: クラスベースなら… (PHP5)   class Rectangle{    private $width;    private $height;    public function __construct($w,$h){      $this->setWidth($w);       $this->setHeight($h);    }    /* accessor  定義は割愛 */    public function getArea(){      return $this->getWidth()*                 $this->getHeight();     } } $rectangle = new Rectangle(10,15); echo $rectangle->getArea(); // 150 ・ rectangle( 矩形 ) オブジェクトの実装例   プロトタイプベースなら… (js) // コンストラクタ関数 //this には生成されたインスタンスが代入  function Rectangle(w,h){    this.width = w;    this.height = h; } Rectangle.prototype.getArea =    function() {      return this.width * this.height;     } var rectangle = new Rectangle(10,15); alert(rectangle.getArea()); // 150 | | | | | | | | | | | | |
js におけるオブジェクト ・リテラルで書けちゃう(いきなりインスタンス生成)   var rectangle = { width: 10, height: 15 } // 最後にピリオド入れちゃダメ! ・プロパティだけだとハッシュ(配列もオブジェクト)   alert(rectangle.width); //10 ・プロパティは文字列でもアクセスできる   alert(rectangle.["width"]); //10  ・暗黙の constructor プロパティ=コンストラクタ関数への参照     var rectangle = new Rectangle(10,15);       rectangle.constructor == Rectangle; //true と評価される ・暗黙の prototype プロパティ   = constructor プロパティのみを持つオブジェクトへの参照 ・ prototype にプロパティ追加する=継承                   はいもうわけわかめ!!
ECMA って何なのさ? ・大人の事情です   ・ ECMAScript は言語コアの規格名。仕様書もあるよ   ・ JavaScript=ECMAScript で正しいんです   ・ AdobeFlash での ECMAScript 実装は ActionScript と呼ばれてる   ・ IE は実は今でも JScript が呼称   ・ getElementById メソッドとかは含まれてません
じゃあ DOM って何なのさ? ・ Document Object Model    ・ W3C って組織が決めた API 仕様です   ・実装方法はベンダまかせです  ・ document オブジェクトがその実装   ・ JScript は KY だからみんな困ってる   ・レベル 0 〜3までの規定がある   ・ XML,HTML, イベントとか辺りを規定してる
だから何なのさ? ・一部の特殊な仕様を理解すればどうということはない   ・ただ、 ECMA か DOM か、調べたいとこは見極めよう    ・犯人は誰か、冷静に考えれば分かる                ECMAScript 実装以外の処理系ごとの拡張 ...                ベンダの DOM 実装  ...                   IE,IE,IE!!!                           まあ、すぐに 「ブラウザ依存だー!!」 は やめよう
本題  
2.jQuery の基礎  
jQuery ・ John Resig  と有志 ・ 18KB ・クロスブラウザ   IE6+ FF3+ Safari3+ Opera9+ ・最近 1.3 がリリースされた ・強力で爆速な CSS セレクタ ・メソッドチェーンによる直感的な API ・ prototype 汚染の心配なしで、読み込むだけで使える ・アニメーションや ajax 周りも最低限サポート
学習方法 ・日本語のすばらしいリファレンス   正直それ読めばおk ・なにはともあれCSSセレクタの勘をつかむ   それが全てといっても過言ではない ・メソッドチェーンにも慣れる   それ一行で書けない?                         要は使って慣れろです
実例紹介  
次回予告     ・ DOM 詳しく   ・イベントリスナーとか   ・ jQuery のプラグイン       ・ Ajax       ・ YUI       ・ Dojo ・アニメーションライブラリ       
付録 ~勉強のおともに~ ・オライリー本 「 JavaScript 」と「 JavaScript クイックリファレンス」 ・ ECMAScript Under Translation of ECMA-262 3rd Edition http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/ ・ jQuery jQuery1.3 日本語リファレンス http://semooh.jp/jquery/
ご清聴ありがとうございました。  

More Related Content

What's hot (20)

PDF
いまさら恥ずかしくてAsyncをawaitした
Kouji Matsui
 
PDF
SignalRブートキャンプ
Kouji Matsui
 
PDF
Visual Studio Codeで始めるTypeScript
Akira Inoue
 
PDF
async/await不要論
bleis tift
 
PDF
Sansan様 登壇資料
Daisuke Nagata
 
PDF
Rx swift,Repro framewolrk
Daisuke Nagata
 
PPTX
Preludeのprecompile
Glass_saga
 
PDF
ng-japan 2015 TypeScript+AngularJS 1.3
Masahiro Wakame
 
PDF
コンパイラ指向ReVIEW
Masahiro Wakame
 
KEY
Js mvc
Net Kanayan
 
PDF
scheme処理系の実装
bobuhiro11
 
PDF
Async DeepDive basics
Kouji Matsui
 
PDF
TypeScript0.9
ukayare
 
PDF
Nyandoc: Scaladoc/Javadoc to markdown converter
tod esking
 
PDF
ECMAScript6による関数型プログラミング
TanUkkii
 
PDF
Using xvim with macvim
pebble8888
 
PDF
RxSwift
Kosuke Usami
 
PDF
覚醒JavaScript -ES6で作るIsomophicアプリケーション-
Oonishi Keitarou
 
PDF
Async Enhancement
kamiyam .
 
PDF
WebAssembly と Rust の入口の向かいにある道路のベンチに腰掛けるレベルのさわってみた感想を共有
zaru sakuraba
 
いまさら恥ずかしくてAsyncをawaitした
Kouji Matsui
 
SignalRブートキャンプ
Kouji Matsui
 
Visual Studio Codeで始めるTypeScript
Akira Inoue
 
async/await不要論
bleis tift
 
Sansan様 登壇資料
Daisuke Nagata
 
Rx swift,Repro framewolrk
Daisuke Nagata
 
Preludeのprecompile
Glass_saga
 
ng-japan 2015 TypeScript+AngularJS 1.3
Masahiro Wakame
 
コンパイラ指向ReVIEW
Masahiro Wakame
 
Js mvc
Net Kanayan
 
scheme処理系の実装
bobuhiro11
 
Async DeepDive basics
Kouji Matsui
 
TypeScript0.9
ukayare
 
Nyandoc: Scaladoc/Javadoc to markdown converter
tod esking
 
ECMAScript6による関数型プログラミング
TanUkkii
 
Using xvim with macvim
pebble8888
 
RxSwift
Kosuke Usami
 
覚醒JavaScript -ES6で作るIsomophicアプリケーション-
Oonishi Keitarou
 
Async Enhancement
kamiyam .
 
WebAssembly と Rust の入口の向かいにある道路のベンチに腰掛けるレベルのさわってみた感想を共有
zaru sakuraba
 

Similar to 20090121 J QueryからはじめるJava Script~初級編~ (20)

PDF
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Akira Inoue
 
PDF
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
 
PDF
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
 
PDF
Trait in scala
Yuta Shimakawa
 
PDF
TypeScript 言語処理系ことはじめ
Yu Nobuoka
 
PDF
ATN No.2 Scala事始め
AdvancedTechNight
 
PPT
Groovyコンファレンス
Shinichiro Takezaki
 
PDF
Node.js勉強会 Framework Koa
kamiyam .
 
PDF
Ajax 応用
Katsuyuki Seino
 
PPT
Rpscala2011 0601
Hajime Yanagawa
 
PDF
Functional JavaScript with Lo-Dash.js
Shogo Sensui
 
PPTX
ASP.NET vNextの全貌
A AOKI
 
PDF
ちゃんとWeb会議スライド『Coffee script』
H2O Space. Co., Ltd.
 
PDF
ちょっと詳しくJavaScript 特別編【悪霊の神々】
株式会社ランチェスター
 
PDF
Canvas勉強会
Tsutomu Kawamura
 
PDF
「エクストリームエンジニアへの道(Swift編)」
tech-arts
 
PDF
JavaFX 2.0 - リッチクライアントのためのUI基盤
Yuichi Sakuraba
 
PDF
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
Akira Inoue
 
PDF
ScalaでAndroidアプリ開発
papamitra
 
PDF
ASP.NETを利用したAJAX開発の応用
Sho Okada
 
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Akira Inoue
 
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
 
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
 
Trait in scala
Yuta Shimakawa
 
TypeScript 言語処理系ことはじめ
Yu Nobuoka
 
ATN No.2 Scala事始め
AdvancedTechNight
 
Groovyコンファレンス
Shinichiro Takezaki
 
Node.js勉強会 Framework Koa
kamiyam .
 
Ajax 応用
Katsuyuki Seino
 
Rpscala2011 0601
Hajime Yanagawa
 
Functional JavaScript with Lo-Dash.js
Shogo Sensui
 
ASP.NET vNextの全貌
A AOKI
 
ちゃんとWeb会議スライド『Coffee script』
H2O Space. Co., Ltd.
 
ちょっと詳しくJavaScript 特別編【悪霊の神々】
株式会社ランチェスター
 
Canvas勉強会
Tsutomu Kawamura
 
「エクストリームエンジニアへの道(Swift編)」
tech-arts
 
JavaFX 2.0 - リッチクライアントのためのUI基盤
Yuichi Sakuraba
 
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
Akira Inoue
 
ScalaでAndroidアプリ開発
papamitra
 
ASP.NETを利用したAJAX開発の応用
Sho Okada
 
Ad

More from Hiromu Shioya (20)

PDF
不惑の生存戦略
Hiromu Shioya
 
PDF
勉強会なう
Hiromu Shioya
 
PDF
LTの技術
Hiromu Shioya
 
PDF
珍獣 素人 そして くのいち
Hiromu Shioya
 
PDF
Tupperware
Hiromu Shioya
 
PDF
Rubyistが歩むべき道への道
Hiromu Shioya
 
PDF
自宅で本気を出さされた
Hiromu Shioya
 
PDF
クマとデバッグを
Hiromu Shioya
 
PDF
クマとジャーニーマンとステマ
Hiromu Shioya
 
PDF
お前の本気を見せてみろ!
Hiromu Shioya
 
PDF
Git道場を開催してきた
Hiromu Shioya
 
PDF
三周まわったおれたちのアジャイル
Hiromu Shioya
 
PDF
俺たちの目指すモバイルの新たな地平
Hiromu Shioya
 
PDF
2011年の漢字
Hiromu Shioya
 
PDF
ベジェ曲線を書いてみた
Hiromu Shioya
 
PDF
オススメの技術書
Hiromu Shioya
 
PDF
はじめて学ぶバージョン管理とGit
Hiromu Shioya
 
PDF
肉とRubyとわたし
Hiromu Shioya
 
PDF
祝辞
Hiromu Shioya
 
不惑の生存戦略
Hiromu Shioya
 
勉強会なう
Hiromu Shioya
 
LTの技術
Hiromu Shioya
 
珍獣 素人 そして くのいち
Hiromu Shioya
 
Tupperware
Hiromu Shioya
 
Rubyistが歩むべき道への道
Hiromu Shioya
 
自宅で本気を出さされた
Hiromu Shioya
 
クマとデバッグを
Hiromu Shioya
 
クマとジャーニーマンとステマ
Hiromu Shioya
 
お前の本気を見せてみろ!
Hiromu Shioya
 
Git道場を開催してきた
Hiromu Shioya
 
三周まわったおれたちのアジャイル
Hiromu Shioya
 
俺たちの目指すモバイルの新たな地平
Hiromu Shioya
 
2011年の漢字
Hiromu Shioya
 
ベジェ曲線を書いてみた
Hiromu Shioya
 
オススメの技術書
Hiromu Shioya
 
はじめて学ぶバージョン管理とGit
Hiromu Shioya
 
肉とRubyとわたし
Hiromu Shioya
 
Ad

20090121 J QueryからはじめるJava Script~初級編~

  • 3. JavaScript ・ UpperCamelCase ・間にスペース挟むな!!              ×   javascript                  ×   Java Script                  ×   javaScript ・読み方は胸はって「じゃゔぁ」でお k
  • 4. 歴史(ググッたらわかるレベル) 誕生 (1995) NetScape の中の人が開発。ネスケ 2.0 で LiveScript としてデビュー 発展 (1995-1996) Microsoft IE との開発競争。機能の増大、仕様の複雑化 統合 (1997)   国際団体の Ecma により ECMAScript として標準化される 普及 ( 〜 2005)   web ページの装飾に。入力チェックに。補助的なポジション Ajax の登場 (2005) 非同期通信による新しい Web インタフェース。再評価高まる モダン js としての再出発 (2005 〜 )   rails とともに prototype .js 登場。新たなライブラリ群 V8 の登場 (2008) 爆速の google chrome リリース。ブラウザ開発競争再燃
  • 5. つまり… どういうこと? 1. モダン js 童貞が許されるのは小学生までだよね! ・何回も蘇ってるばかりか若返ってる=時代が必要としてる ・各大型ベンダが盛り上がってる=そこにカネの匂いがある         ->ガラパゴス開発ばっかやってる場合じゃねえ! 2. 今なら相当開発楽なんじゃねえの?? ・すごい人らが、すごいライブラリを沢山用意してくれてる ・もういい加減クロスブラウザ気にしなくて良い…よね? ・開発環境もちっとはこなれてきてる…はず                        ->機は熟してる!
  • 7. JavaScript を知るキーワード ・プロトタイプベース ・ ECMAScript ・ DOM 個人的に知りたいものをチョイスしました
  • 8. プロトタイプベース ・クラス / インスタンスの関係は(厳密には)無い   ・オブジェクトの振る舞いを動的に変更できる   ・スロット=可変の構造体としてオブジェクトは捉えられる               ... プログラマーは概念よりコード見た方が理解が早い
  • 9. example: クラスベースなら… (PHP5)   class Rectangle{   private $width;   private $height;    public function __construct($w,$h){     $this->setWidth($w);     $this->setHeight($h);   }   /* accessor 定義は割愛 */   public function getArea(){     return $this->getWidth()*                $this->getHeight();   } } $rectangle = new Rectangle(10,15); echo $rectangle->getArea(); // 150 ・ rectangle( 矩形 ) オブジェクトの実装例   プロトタイプベースなら… (js) // コンストラクタ関数 //this には生成されたインスタンスが代入 function Rectangle(w,h){   this.width = w;   this.height = h; } Rectangle.prototype.getArea =   function() {     return this.width * this.height;   } var rectangle = new Rectangle(10,15); alert(rectangle.getArea()); // 150 | | | | | | | | | | | | |
  • 10. js におけるオブジェクト ・リテラルで書けちゃう(いきなりインスタンス生成)   var rectangle = { width: 10, height: 15 } // 最後にピリオド入れちゃダメ! ・プロパティだけだとハッシュ(配列もオブジェクト)   alert(rectangle.width); //10 ・プロパティは文字列でもアクセスできる   alert(rectangle.["width"]); //10 ・暗黙の constructor プロパティ=コンストラクタ関数への参照     var rectangle = new Rectangle(10,15);      rectangle.constructor == Rectangle; //true と評価される ・暗黙の prototype プロパティ   = constructor プロパティのみを持つオブジェクトへの参照 ・ prototype にプロパティ追加する=継承                   はいもうわけわかめ!!
  • 11. ECMA って何なのさ? ・大人の事情です   ・ ECMAScript は言語コアの規格名。仕様書もあるよ   ・ JavaScript=ECMAScript で正しいんです   ・ AdobeFlash での ECMAScript 実装は ActionScript と呼ばれてる   ・ IE は実は今でも JScript が呼称   ・ getElementById メソッドとかは含まれてません
  • 12. じゃあ DOM って何なのさ? ・ Document Object Model   ・ W3C って組織が決めた API 仕様です   ・実装方法はベンダまかせです  ・ document オブジェクトがその実装   ・ JScript は KY だからみんな困ってる   ・レベル 0 〜3までの規定がある   ・ XML,HTML, イベントとか辺りを規定してる
  • 13. だから何なのさ? ・一部の特殊な仕様を理解すればどうということはない   ・ただ、 ECMA か DOM か、調べたいとこは見極めよう    ・犯人は誰か、冷静に考えれば分かる              ECMAScript 実装以外の処理系ごとの拡張 ...               ベンダの DOM 実装 ...                  IE,IE,IE!!!                          まあ、すぐに 「ブラウザ依存だー!!」 は やめよう
  • 16. jQuery ・ John Resig と有志 ・ 18KB ・クロスブラウザ   IE6+ FF3+ Safari3+ Opera9+ ・最近 1.3 がリリースされた ・強力で爆速な CSS セレクタ ・メソッドチェーンによる直感的な API ・ prototype 汚染の心配なしで、読み込むだけで使える ・アニメーションや ajax 周りも最低限サポート
  • 17. 学習方法 ・日本語のすばらしいリファレンス   正直それ読めばおk ・なにはともあれCSSセレクタの勘をつかむ   それが全てといっても過言ではない ・メソッドチェーンにも慣れる   それ一行で書けない?                         要は使って慣れろです
  • 19. 次回予告     ・ DOM 詳しく   ・イベントリスナーとか   ・ jQuery のプラグイン       ・ Ajax       ・ YUI       ・ Dojo ・アニメーションライブラリ       
  • 20. 付録 ~勉強のおともに~ ・オライリー本 「 JavaScript 」と「 JavaScript クイックリファレンス」 ・ ECMAScript Under Translation of ECMA-262 3rd Edition http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/ ・ jQuery jQuery1.3 日本語リファレンス http://semooh.jp/jquery/