Ti.tokyo.GIG 2012
-
Upload
ryutaro-miyashita -
Category
Technology
-
view
1.747 -
download
2
description
Transcript of Ti.tokyo.GIG 2012
![Page 1: Ti.tokyo.GIG 2012](https://reader035.fdocuments.net/reader035/viewer/2022062709/559222371a28abb1068b45f0/html5/thumbnails/1.jpg)
@ryugoo_http://imthinker.net/
Titanium Mobileわくわく ! 関数定義 !
![Page 2: Ti.tokyo.GIG 2012](https://reader035.fdocuments.net/reader035/viewer/2022062709/559222371a28abb1068b45f0/html5/thumbnails/2.jpg)
JavaScript ベースでアプリ開発できる素敵ソリューション
Titanium Mobile
![Page 3: Ti.tokyo.GIG 2012](https://reader035.fdocuments.net/reader035/viewer/2022062709/559222371a28abb1068b45f0/html5/thumbnails/3.jpg)
Prototype ベースなオブジェクト指向スクリプト言語
JavaScript
![Page 4: Ti.tokyo.GIG 2012](https://reader035.fdocuments.net/reader035/viewer/2022062709/559222371a28abb1068b45f0/html5/thumbnails/4.jpg)
便利な関数定義を使って、パワフルなプログラムを作る
Function
![Page 5: Ti.tokyo.GIG 2012](https://reader035.fdocuments.net/reader035/viewer/2022062709/559222371a28abb1068b45f0/html5/thumbnails/5.jpg)
var hoge = function() {};
関数リテラル式
var hoge = new Function();
関数コンストラクタ
function hoge() {}
関数宣言文
![Page 6: Ti.tokyo.GIG 2012](https://reader035.fdocuments.net/reader035/viewer/2022062709/559222371a28abb1068b45f0/html5/thumbnails/6.jpg)
// Application Namespacevar jsTest = { exec : function() { // Start Time var startTime = (new Date).getTime(); // Craete Function for(var i = 0; i < 10000000; i++) { // DEFINE FUNCTION } // End Time var endTime = (new Date).getTime(); alert(endTime -‐ startTime); }};// ExecutejsTest.exec();
![Page 7: Ti.tokyo.GIG 2012](https://reader035.fdocuments.net/reader035/viewer/2022062709/559222371a28abb1068b45f0/html5/thumbnails/7.jpg)
関数宣言文 関数リテラル式 関数コンストラクタ
iOSシミュレータ 111 1084 40787
実機 1089 11172 Unknown
Titanium Mobile [ms]
関数宣言文 関数リテラル式 関数コンストラクタ
iOSシミュレータ 125 922 Unknown
実機 182 9631 Unknown
Safari Mobile [ms]
![Page 8: Ti.tokyo.GIG 2012](https://reader035.fdocuments.net/reader035/viewer/2022062709/559222371a28abb1068b45f0/html5/thumbnails/8.jpg)
関数宣言文とっても速いよ !!
Function Declaration
![Page 9: Ti.tokyo.GIG 2012](https://reader035.fdocuments.net/reader035/viewer/2022062709/559222371a28abb1068b45f0/html5/thumbnails/9.jpg)
でもね、ECMA 厨的には
ECMA-262
![Page 10: Ti.tokyo.GIG 2012](https://reader035.fdocuments.net/reader035/viewer/2022062709/559222371a28abb1068b45f0/html5/thumbnails/10.jpg)
if(true) { // Noooooooooo!!!! function hoge() {} // Excellent!!!! var hoge = function() {};}
関数宣言文をここで書いちゃイヤ><
![Page 11: Ti.tokyo.GIG 2012](https://reader035.fdocuments.net/reader035/viewer/2022062709/559222371a28abb1068b45f0/html5/thumbnails/11.jpg)
でも大丈夫。そう、JavaScript 1.5+ ならね
JavaScript 1.5
![Page 12: Ti.tokyo.GIG 2012](https://reader035.fdocuments.net/reader035/viewer/2022062709/559222371a28abb1068b45f0/html5/thumbnails/12.jpg)
条件文内の関数宣言しても良いよ
Function Expression Statements
![Page 13: Ti.tokyo.GIG 2012](https://reader035.fdocuments.net/reader035/viewer/2022062709/559222371a28abb1068b45f0/html5/thumbnails/13.jpg)
関数宣言文でも関数リテラル式でも好きな方使って楽しくTi !
Enjoy Titanium Life !