SlideShare ist ein Scribd-Unternehmen logo
1 von 18
JavaScript オブジェクト指向 	@cev_cs
本日の予定 前回の確認 基本用語解説   クラスベースとプロトタイプベース   オブジェクトの定義   JSON と JSONP
前回の確認 関数も「オブジェクト」である  JavaScript の大きな特徴の1つ  オブジェクトは全て連想配列 から出来ている 連想配列とはキーと要素の集合 配列名[‘キー’] = 配列名.キー
用語の確認
クラスベースとプロトタイプベース 今まで習ってきた言語:  クラスベース プロトタイプ  -> あるオブジェクトの元となるオブジェクト              より縛りの弱いクラスのようなもの
プロトタイプベースの利点・欠点 利点 ,[object Object],欠点 ,[object Object],->JSが遅い原因の一つ ,[object Object],[object Object]
オブジェクトの定義 最もシンプルな定義方法  var Member = function() {} ; //コンストラクタ  var mem = new Member();  //インスタンス生成   mem.name = 'agu_it_study';   mem.myfunc = function(){  .... };  ※ インスタンスには動的にメソッドを追加可能       mem はMember オブジェクト       補足資料 -> http://bit.ly/9IIWNf
オブジェクトの定義 コンストラクタに中身を挿入  var Member = function (name){        this.name = name;        this.printName = function (){              document.write(this.name);        };  }; thisは生成されたインスタンスを指す
コンストラクタの問題点 メソッドの数に比例して余分にメモリを消費する
prototype プロパティ 関数は元のクラスを参照するようにする
コードで書くと  var Member = function (name){         this.name = name;   };  Member.prototype.printName = function (){        document.write(this.name);           };  var mem1 = new Member ('Homma');  var mem2 = new Member ('Matsue'); 実行サンプル    http://jsdo.it/cev/huKj
JSON(JavaScript Object Notation) オブジェクト表記方法を そのまま通信データの形式に用いる手法 サーバ側にあるデータをJavaScriptだけで利用できる  -> マッシュアップ
JSON(JavaScript Object Notation) サーバから以下の「文字列」が返ってくる  {        ‘age’            :    21,        ‘department’ :   ‘Information Technology’   }   まさに前回行った「オブジェクト (連想配列) 」!
JSONP (JSON with padding) callback 関数を定義 引数に JSON を指定して callback を実行 クロスドメイン制約 通常は外部のソースにアクセスできない
まとめ JavaScript はプロトタイプベース prototype によってメモリ節約   JSON はオブジェクトの受け渡し JSONP で外部のデータを読み込める
終わりに 文法はこれにて終了です。  次週からいよいよ ブラウザを用いた内容となります。  参加型の内容を考え中です!
参考文献 JavaScript マスターブック 山田祥寛(著) JavaScriptのイロハ http://builder.japan.zdnet.com/sp/javascript-kickstart-2007/?p=1
Javascript3

Weitere ähnliche Inhalte

Mehr von Kiminari Homma

Smart Communication Award 2016 モバイル電話サポートSDK
Smart Communication Award 2016 モバイル電話サポートSDKSmart Communication Award 2016 モバイル電話サポートSDK
Smart Communication Award 2016 モバイル電話サポートSDKKiminari Homma
 
コールセンターを知る
コールセンターを知るコールセンターを知る
コールセンターを知るKiminari Homma
 
IPメッセージング勉強会「WebのリアルタイムとIPメッセージング」
IPメッセージング勉強会「WebのリアルタイムとIPメッセージング」IPメッセージング勉強会「WebのリアルタイムとIPメッセージング」
IPメッセージング勉強会「WebのリアルタイムとIPメッセージング」Kiminari Homma
 
私の考える Startup Geeks
私の考える Startup Geeks私の考える Startup Geeks
私の考える Startup GeeksKiminari Homma
 
Twilio serveless architecture
Twilio serveless architectureTwilio serveless architecture
Twilio serveless architectureKiminari Homma
 
スタートアップが AWS Lambda を導入した理由
スタートアップが AWS Lambda を導入した理由スタートアップが AWS Lambda を導入した理由
スタートアップが AWS Lambda を導入した理由Kiminari Homma
 
電話とは何か、そして Twilio の正体
電話とは何か、そして Twilio の正体電話とは何か、そして Twilio の正体
電話とは何か、そして Twilio の正体Kiminari Homma
 
Agu itr 20100901_communication
Agu itr 20100901_communicationAgu itr 20100901_communication
Agu itr 20100901_communicationKiminari Homma
 

Mehr von Kiminari Homma (19)

Smart Communication Award 2016 モバイル電話サポートSDK
Smart Communication Award 2016 モバイル電話サポートSDKSmart Communication Award 2016 モバイル電話サポートSDK
Smart Communication Award 2016 モバイル電話サポートSDK
 
コールセンターを知る
コールセンターを知るコールセンターを知る
コールセンターを知る
 
IPメッセージング勉強会「WebのリアルタイムとIPメッセージング」
IPメッセージング勉強会「WebのリアルタイムとIPメッセージング」IPメッセージング勉強会「WebのリアルタイムとIPメッセージング」
IPメッセージング勉強会「WebのリアルタイムとIPメッセージング」
 
私の考える Startup Geeks
私の考える Startup Geeks私の考える Startup Geeks
私の考える Startup Geeks
 
Twilio serveless architecture
Twilio serveless architectureTwilio serveless architecture
Twilio serveless architecture
 
スタートアップが AWS Lambda を導入した理由
スタートアップが AWS Lambda を導入した理由スタートアップが AWS Lambda を導入した理由
スタートアップが AWS Lambda を導入した理由
 
電話とは何か、そして Twilio の正体
電話とは何か、そして Twilio の正体電話とは何か、そして Twilio の正体
電話とは何か、そして Twilio の正体
 
Swift afterbeginner
Swift afterbeginnerSwift afterbeginner
Swift afterbeginner
 
Swift afterbeginner
Swift afterbeginnerSwift afterbeginner
Swift afterbeginner
 
Call cloud
Call cloudCall cloud
Call cloud
 
Erlang
ErlangErlang
Erlang
 
Erlang
ErlangErlang
Erlang
 
Agu itr 20100901_communication
Agu itr 20100901_communicationAgu itr 20100901_communication
Agu itr 20100901_communication
 
Rfid
RfidRfid
Rfid
 
Java script4
Java script4Java script4
Java script4
 
Java Script4
Java Script4Java Script4
Java Script4
 
Jsonp
JsonpJsonp
Jsonp
 
可読性
可読性可読性
可読性
 
Java script1
Java script1Java script1
Java script1
 

Javascript3