13
@ryugoo_ http://imthinker.net/ Titanium Mobile わくわく ! 関数定義 !

Ti.tokyo.GIG 2012

Embed Size (px)

DESCRIPTION

Ti.tokyo.GIG 2012, Ryutaro Miyashita Lightning Talk.

Citation preview

Page 1: Ti.tokyo.GIG 2012

@ryugoo_http://imthinker.net/

Titanium Mobileわくわく ! 関数定義 !

Page 2: Ti.tokyo.GIG 2012

JavaScript ベースでアプリ開発できる素敵ソリューション

Titanium Mobile

Page 3: Ti.tokyo.GIG 2012

Prototype ベースなオブジェクト指向スクリプト言語

JavaScript

Page 4: Ti.tokyo.GIG 2012

便利な関数定義を使って、パワフルなプログラムを作る

Function

Page 5: Ti.tokyo.GIG 2012

var  hoge  =  function()  {};

関数リテラル式

var  hoge  =  new  Function();

関数コンストラクタ

function  hoge()  {}

関数宣言文

Page 6: Ti.tokyo.GIG 2012

//  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

関数宣言文 関数リテラル式 関数コンストラクタ

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

関数宣言文とっても速いよ !!

Function Declaration

Page 9: Ti.tokyo.GIG 2012

でもね、ECMA 厨的には

ECMA-262

Page 10: Ti.tokyo.GIG 2012

if(true)  {   //  Noooooooooo!!!!   function  hoge()  {}   //  Excellent!!!!   var  hoge  =  function()  {};}

関数宣言文をここで書いちゃイヤ><

Page 11: Ti.tokyo.GIG 2012

でも大丈夫。そう、JavaScript 1.5+ ならね

JavaScript 1.5

Page 12: Ti.tokyo.GIG 2012

条件文内の関数宣言しても良いよ

Function Expression Statements

Page 13: Ti.tokyo.GIG 2012

関数宣言文でも関数リテラル式でも好きな方使って楽しくTi !

Enjoy Titanium Life !