Upload
ryutaro-miyashita
View
1.747
Download
2
Embed Size (px)
DESCRIPTION
Ti.tokyo.GIG 2012, Ryutaro Miyashita Lightning Talk.
Citation preview
@ryugoo_http://imthinker.net/
Titanium Mobileわくわく ! 関数定義 !
JavaScript ベースでアプリ開発できる素敵ソリューション
Titanium Mobile
Prototype ベースなオブジェクト指向スクリプト言語
JavaScript
便利な関数定義を使って、パワフルなプログラムを作る
Function
var hoge = function() {};
関数リテラル式
var hoge = new Function();
関数コンストラクタ
function hoge() {}
関数宣言文
// 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();
関数宣言文 関数リテラル式 関数コンストラクタ
iOSシミュレータ 111 1084 40787
実機 1089 11172 Unknown
Titanium Mobile [ms]
関数宣言文 関数リテラル式 関数コンストラクタ
iOSシミュレータ 125 922 Unknown
実機 182 9631 Unknown
Safari Mobile [ms]
関数宣言文とっても速いよ !!
Function Declaration
でもね、ECMA 厨的には
ECMA-262
if(true) { // Noooooooooo!!!! function hoge() {} // Excellent!!!! var hoge = function() {};}
関数宣言文をここで書いちゃイヤ><
でも大丈夫。そう、JavaScript 1.5+ ならね
JavaScript 1.5
条件文内の関数宣言しても良いよ
Function Expression Statements
関数宣言文でも関数リテラル式でも好きな方使って楽しくTi !
Enjoy Titanium Life !