Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
uupaa
1,181 views
Prof.js
see http://uupaa.hatenablog.com/entry/2012/10/31/221550
Technology
◦
Read more
5
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 25
2
/ 25
3
/ 25
4
/ 25
5
/ 25
6
/ 25
7
/ 25
8
/ 25
9
/ 25
10
/ 25
11
/ 25
12
/ 25
13
/ 25
14
/ 25
15
/ 25
16
/ 25
17
/ 25
18
/ 25
19
/ 25
20
/ 25
21
/ 25
22
/ 25
23
/ 25
24
/ 25
25
/ 25
More Related Content
PDF
modern javascript, unobtrusive javascript, jquery
by
Adam Zygadlewicz
DOCX
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
by
knangsmiley
PDF
Most Common JavaScript Mistakes
by
Yoann Gotthilf
PDF
ECMAScript 6 im Produktivbetrieb
by
Sebastian Springer
PDF
Side Room - 5. Alex Wald - Inloop
by
MobCon
PDF
Php Meets Messagepack
by
Hideyuki TAKEI
PDF
Monads
by
calacitizen
PDF
Linked list proj
by
Dr. Ahmed J. Obaid
modern javascript, unobtrusive javascript, jquery
by
Adam Zygadlewicz
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
by
knangsmiley
Most Common JavaScript Mistakes
by
Yoann Gotthilf
ECMAScript 6 im Produktivbetrieb
by
Sebastian Springer
Side Room - 5. Alex Wald - Inloop
by
MobCon
Php Meets Messagepack
by
Hideyuki TAKEI
Monads
by
calacitizen
Linked list proj
by
Dr. Ahmed J. Obaid
What's hot
PPTX
Understanding Python decorators
by
JosipKatalinic
PPTX
[170510 4주차]C언어 A반
by
arundine
DOCX
Convert bilangan
by
Hanifu Al-Klantingy
TXT
How
by
AimanNour
PDF
Comprendre la programmation fonctionnelle, Blend Web Mix le 02/11/2016
by
Loïc Knuchel
PDF
ikp213-06-template-c++
by
Anung Ariwibowo
DOCX
โปรแกรมย่อยและฟังก์ชั่นมาตรฐาน
by
knangsmiley
TXT
Zadatak
by
Zeljko Lukic
PPTX
Алексей Кутумов, C++ без исключений, часть 3
by
Platonov Sergey
DOCX
Img1
by
Cinthia AM
PDF
Effective java 摘選條目分享 2 - 泛型
by
Kane Shih
PPTX
6. separation, namespace, error
by
Vahid Heidari
PPTX
Librerias de c++
by
Carlos Baza Vanegas
PDF
6.1 Шаблоны классов
by
DEVTYPE
PDF
Project
by
taufiq26
PPTX
The Flavor of TypeScript
by
Dmitry Sheiko
PDF
Jslunch1
by
Nao Haida
DOCX
Form Pemesanan Tiket dengan Java NetBeans
by
Aldila Putri
DOCX
1
by
Aeew Autaporn
Understanding Python decorators
by
JosipKatalinic
[170510 4주차]C언어 A반
by
arundine
Convert bilangan
by
Hanifu Al-Klantingy
How
by
AimanNour
Comprendre la programmation fonctionnelle, Blend Web Mix le 02/11/2016
by
Loïc Knuchel
ikp213-06-template-c++
by
Anung Ariwibowo
โปรแกรมย่อยและฟังก์ชั่นมาตรฐาน
by
knangsmiley
Zadatak
by
Zeljko Lukic
Алексей Кутумов, C++ без исключений, часть 3
by
Platonov Sergey
Img1
by
Cinthia AM
Effective java 摘選條目分享 2 - 泛型
by
Kane Shih
6. separation, namespace, error
by
Vahid Heidari
Librerias de c++
by
Carlos Baza Vanegas
6.1 Шаблоны классов
by
DEVTYPE
Project
by
taufiq26
The Flavor of TypeScript
by
Dmitry Sheiko
Jslunch1
by
Nao Haida
Form Pemesanan Tiket dengan Java NetBeans
by
Aldila Putri
1
by
Aeew Autaporn
Viewers also liked
PDF
アホロートルエンジニアから見た特許
by
uupaa
PDF
Certificates rugby tat
by
Onno Hansen-Staszyński
PDF
EF presentation 1 - Paris meeting
by
Onno Hansen-Staszyński
PDF
EF FCP presentation - Rugby meeting
by
Onno Hansen-Staszyński
PDF
Certificates gdynia tat
by
Onno Hansen-Staszyński
PDF
Interactive didactics
by
Onno Hansen-Staszyński
PDF
Dissemination nl
by
Onno Hansen-Staszyński
PPT
From Kinkara Tea
by
John_Cowper
PDF
EF FCP workshop - Rugby conference
by
Onno Hansen-Staszyński
PDF
Identifeye ar game documentation 12-14
by
Onno Hansen-Staszyński
PDF
Identifeye ar game documentation 8-11
by
Onno Hansen-Staszyński
PDF
Talk @bramalkema 031214
by
Onno Hansen-Staszyński
PDF
JavaScript And Keywords
by
uupaa
PDF
JavaScript And Debug
by
uupaa
PDF
X3
by
uupaa
PDF
Paris meeting TAT - Minutes
by
Onno Hansen-Staszyński
PDF
Flow.js
by
uupaa
PDF
Pokolenie F
by
Onno Hansen-Staszyński
アホロートルエンジニアから見た特許
by
uupaa
Certificates rugby tat
by
Onno Hansen-Staszyński
EF presentation 1 - Paris meeting
by
Onno Hansen-Staszyński
EF FCP presentation - Rugby meeting
by
Onno Hansen-Staszyński
Certificates gdynia tat
by
Onno Hansen-Staszyński
Interactive didactics
by
Onno Hansen-Staszyński
Dissemination nl
by
Onno Hansen-Staszyński
From Kinkara Tea
by
John_Cowper
EF FCP workshop - Rugby conference
by
Onno Hansen-Staszyński
Identifeye ar game documentation 12-14
by
Onno Hansen-Staszyński
Identifeye ar game documentation 8-11
by
Onno Hansen-Staszyński
Talk @bramalkema 031214
by
Onno Hansen-Staszyński
JavaScript And Keywords
by
uupaa
JavaScript And Debug
by
uupaa
X3
by
uupaa
Paris meeting TAT - Minutes
by
Onno Hansen-Staszyński
Flow.js
by
uupaa
Pokolenie F
by
Onno Hansen-Staszyński
Prof.js
1.
prof.js ECMAScript 262-5th based
JavaScript Dynamic TypeSystem. with Trace and Profiling functions
11.
function mm_each(data, //
@arg Object/Function/Array/Hash: data fn) { // @arg Function: callback function // @help: mm.each // @desc: each object //{@debug mm.allow(data, "Object/Function/Array/Hash"); mm.allow(fn, "Function"); //}@debug typeof data.each === "function" ? data.each(fn) : Object_each(data, fn); }
13.
function mm_each(data, //
@arg Object/Function/Array/Hash: data fn) { // @arg Function: callback function // @help: mm.each // @desc: each object //{@debug // mm.allow(data, "Object/Function/Array/Hash"); // mm.allow(fn, "Function"); //}@debug typeof data.each === "function" ? data.each(fn) : Object_each(data, fn); } //{@debug prof.add( "mm.each(data:Object/Function/Array/Hash, fn:Function" ); //}@debug
15.
Aspect-Oriented Programming)
17.
•
– – – – • • • – • –
18.
mm.each = function()
{ switch (引数の数) { case 3: mm.allow(arguments[2], "2番目の引数の型"); case 2: mm.allow(arguments[1], "1番目の引数の型"); case 1: mm.allow(arguments[0], "0番目の引数の型"); } console.group("関数名"); var now = Date.now(); var rv = org_mm_each.apply(mm, arguments); _tm[path].time += (Date.now() - now); _tm[path].count++; console.groupEnd(); mm.allow(rv, "戻り値の型"); return rv; };
19.
mm.each = function()
{ switch (引数の数) { case 3: mm.allow(arguments[2], "2番目の引数の型"); case 2: mm.allow(arguments[1], "1番目の引数の型"); case 1: mm.allow(arguments[0], "0番目の引数の型"); } console.group("関数名"); var now = Date.now(); var rv = org_mm_each.apply(mm, arguments); _tm[path].time += (Date.now() - now); _tm[path].count++; console.groupEnd(); mm.allow(rv, "戻り値の型"); return rv; };
20.
mm.each = function()
{ switch (引数の数) { case 3: mm.allow(arguments[2], "2番目の引数の型"); case 2: mm.allow(arguments[1], "1番目の引数の型"); case 1: mm.allow(arguments[0], "0番目の引数の型"); } console.group("関数名"); var now = Date.now(); var rv = org_mm_each.apply(mm, arguments); _tm[path].time += (Date.now() - now); _tm[path].count++; console.groupEnd(); mm.allow(rv, "戻り値の型"); return rv; };
21.
mm.each = function()
{ switch (引数の数) { case 3: mm.allow(arguments[2], "2番目の引数の型"); case 2: mm.allow(arguments[1], "1番目の引数の型"); case 1: mm.allow(arguments[0], "0番目の引数の型"); } console.group("関数名"); var now = Date.now(); var rv = org_mm_each.apply(mm, arguments); _tm[path].time += (Date.now() - now); _tm[path].count++; console.groupEnd(); mm.allow(rv, "戻り値の型"); return rv; };
22.
•
– –
23.
•
– – // ライブラリ(lib)のAPIの型情報を登録 prof.add( 'lib.fn1()', 'lib.fn2(a:Integer/String = ",", b:Object):Object', 'lib.fn3(...:Mix):Array', 'lib.fn4(a:Mix):Boolean' ); // ネイティブオブジェクトの動的な型チェックも可能 prof.add( 'String#hoge(a:Mix,b:Mix,c:Mix):String' );
24.
<script src="debug/prof.js"></script> <script src="mm.js"></script> <!--
mm.js は mm.allow で動的な型チェックを使う場合に必要 --> <script> prof.add("…"); </script>
25.
• mofmof.js
– http://code.google.com/p/mofmof-js/ • prof.js – http://code.google.com/p/mofmof- js/source/browse/trunk/js_src/debug/prof.js
Download