Enviar búsqueda
Cargar
Prof.js
•
5 recomendaciones
•
1,177 vistas
uupaa
Seguir
see http://uupaa.hatenablog.com/entry/2012/10/31/221550
Leer menos
Leer más
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 25
Descargar ahora
Descargar para leer sin conexión
Recomendados
modern javascript, unobtrusive javascript, jquery
modern javascript, unobtrusive javascript, jquery
Adam Zygadlewicz
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
knangsmiley
Most Common JavaScript Mistakes
Most Common JavaScript Mistakes
Yoann Gotthilf
ECMAScript 6 im Produktivbetrieb
ECMAScript 6 im Produktivbetrieb
Sebastian Springer
Side Room - 5. Alex Wald - Inloop
Side Room - 5. Alex Wald - Inloop
MobCon
Php Meets Messagepack
Php Meets Messagepack
Hideyuki TAKEI
Monads
Monads
calacitizen
Linked list proj
Linked list proj
Dr. Ahmed J. Obaid
Recomendados
modern javascript, unobtrusive javascript, jquery
modern javascript, unobtrusive javascript, jquery
Adam Zygadlewicz
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
knangsmiley
Most Common JavaScript Mistakes
Most Common JavaScript Mistakes
Yoann Gotthilf
ECMAScript 6 im Produktivbetrieb
ECMAScript 6 im Produktivbetrieb
Sebastian Springer
Side Room - 5. Alex Wald - Inloop
Side Room - 5. Alex Wald - Inloop
MobCon
Php Meets Messagepack
Php Meets Messagepack
Hideyuki TAKEI
Monads
Monads
calacitizen
Linked list proj
Linked list proj
Dr. Ahmed J. Obaid
Understanding Python decorators
Understanding Python decorators
JosipKatalinic
[170510 4주차]C언어 A반
[170510 4주차]C언어 A반
arundine
Convert bilangan
Convert bilangan
Hanifu Al-Klantingy
How
How
AimanNour
Comprendre la programmation fonctionnelle, Blend Web Mix le 02/11/2016
Comprendre la programmation fonctionnelle, Blend Web Mix le 02/11/2016
Loïc Knuchel
ikp213-06-template-c++
ikp213-06-template-c++
Anung Ariwibowo
โปรแกรมย่อยและฟังก์ชั่นมาตรฐาน
โปรแกรมย่อยและฟังก์ชั่นมาตรฐาน
knangsmiley
Zadatak
Zadatak
Zeljko Lukic
Алексей Кутумов, C++ без исключений, часть 3
Алексей Кутумов, C++ без исключений, часть 3
Platonov Sergey
Img1
Img1
Cinthia AM
Effective java 摘選條目分享 2 - 泛型
Effective java 摘選條目分享 2 - 泛型
Kane Shih
6. separation, namespace, error
6. separation, namespace, error
Vahid Heidari
Librerias de c++
Librerias de c++
Carlos Baza Vanegas
6.1 Шаблоны классов
6.1 Шаблоны классов
DEVTYPE
Project
Project
taufiq26
The Flavor of TypeScript
The Flavor of TypeScript
Dmitry Sheiko
Jslunch1
Jslunch1
Nao Haida
Form Pemesanan Tiket dengan Java NetBeans
Form Pemesanan Tiket dengan Java NetBeans
Aldila Putri
1
1
Aeew Autaporn
アホロートルエンジニアから見た特許
アホロートルエンジニアから見た特許
uupaa
Certificates rugby tat
Certificates rugby tat
Onno Hansen-Staszyński
EF presentation 1 - Paris meeting
EF presentation 1 - Paris meeting
Onno Hansen-Staszyński
Más contenido relacionado
La actualidad más candente
Understanding Python decorators
Understanding Python decorators
JosipKatalinic
[170510 4주차]C언어 A반
[170510 4주차]C언어 A반
arundine
Convert bilangan
Convert bilangan
Hanifu Al-Klantingy
How
How
AimanNour
Comprendre la programmation fonctionnelle, Blend Web Mix le 02/11/2016
Comprendre la programmation fonctionnelle, Blend Web Mix le 02/11/2016
Loïc Knuchel
ikp213-06-template-c++
ikp213-06-template-c++
Anung Ariwibowo
โปรแกรมย่อยและฟังก์ชั่นมาตรฐาน
โปรแกรมย่อยและฟังก์ชั่นมาตรฐาน
knangsmiley
Zadatak
Zadatak
Zeljko Lukic
Алексей Кутумов, C++ без исключений, часть 3
Алексей Кутумов, C++ без исключений, часть 3
Platonov Sergey
Img1
Img1
Cinthia AM
Effective java 摘選條目分享 2 - 泛型
Effective java 摘選條目分享 2 - 泛型
Kane Shih
6. separation, namespace, error
6. separation, namespace, error
Vahid Heidari
Librerias de c++
Librerias de c++
Carlos Baza Vanegas
6.1 Шаблоны классов
6.1 Шаблоны классов
DEVTYPE
Project
Project
taufiq26
The Flavor of TypeScript
The Flavor of TypeScript
Dmitry Sheiko
Jslunch1
Jslunch1
Nao Haida
Form Pemesanan Tiket dengan Java NetBeans
Form Pemesanan Tiket dengan Java NetBeans
Aldila Putri
1
1
Aeew Autaporn
La actualidad más candente
(19)
Understanding Python decorators
Understanding Python decorators
[170510 4주차]C언어 A반
[170510 4주차]C언어 A반
Convert bilangan
Convert bilangan
How
How
Comprendre la programmation fonctionnelle, Blend Web Mix le 02/11/2016
Comprendre la programmation fonctionnelle, Blend Web Mix le 02/11/2016
ikp213-06-template-c++
ikp213-06-template-c++
โปรแกรมย่อยและฟังก์ชั่นมาตรฐาน
โปรแกรมย่อยและฟังก์ชั่นมาตรฐาน
Zadatak
Zadatak
Алексей Кутумов, C++ без исключений, часть 3
Алексей Кутумов, C++ без исключений, часть 3
Img1
Img1
Effective java 摘選條目分享 2 - 泛型
Effective java 摘選條目分享 2 - 泛型
6. separation, namespace, error
6. separation, namespace, error
Librerias de c++
Librerias de c++
6.1 Шаблоны классов
6.1 Шаблоны классов
Project
Project
The Flavor of TypeScript
The Flavor of TypeScript
Jslunch1
Jslunch1
Form Pemesanan Tiket dengan Java NetBeans
Form Pemesanan Tiket dengan Java NetBeans
1
1
Destacado
アホロートルエンジニアから見た特許
アホロートルエンジニアから見た特許
uupaa
Certificates rugby tat
Certificates rugby tat
Onno Hansen-Staszyński
EF presentation 1 - Paris meeting
EF presentation 1 - Paris meeting
Onno Hansen-Staszyński
EF FCP presentation - Rugby meeting
EF FCP presentation - Rugby meeting
Onno Hansen-Staszyński
Certificates gdynia tat
Certificates gdynia tat
Onno Hansen-Staszyński
Interactive didactics
Interactive didactics
Onno Hansen-Staszyński
Dissemination nl
Dissemination nl
Onno Hansen-Staszyński
From Kinkara Tea
From Kinkara Tea
John_Cowper
EF FCP workshop - Rugby conference
EF FCP workshop - Rugby conference
Onno Hansen-Staszyński
Identifeye ar game documentation 12-14
Identifeye ar game documentation 12-14
Onno Hansen-Staszyński
Identifeye ar game documentation 8-11
Identifeye ar game documentation 8-11
Onno Hansen-Staszyński
Talk @bramalkema 031214
Talk @bramalkema 031214
Onno Hansen-Staszyński
JavaScript And Keywords
JavaScript And Keywords
uupaa
JavaScript And Debug
JavaScript And Debug
uupaa
X3
X3
uupaa
Paris meeting TAT - Minutes
Paris meeting TAT - Minutes
Onno Hansen-Staszyński
Flow.js
Flow.js
uupaa
Pokolenie F
Pokolenie F
Onno Hansen-Staszyński
Destacado
(18)
アホロートルエンジニアから見た特許
アホロートルエンジニアから見た特許
Certificates rugby tat
Certificates rugby tat
EF presentation 1 - Paris meeting
EF presentation 1 - Paris meeting
EF FCP presentation - Rugby meeting
EF FCP presentation - Rugby meeting
Certificates gdynia tat
Certificates gdynia tat
Interactive didactics
Interactive didactics
Dissemination nl
Dissemination nl
From Kinkara Tea
From Kinkara Tea
EF FCP workshop - Rugby conference
EF FCP workshop - Rugby conference
Identifeye ar game documentation 12-14
Identifeye ar game documentation 12-14
Identifeye ar game documentation 8-11
Identifeye ar game documentation 8-11
Talk @bramalkema 031214
Talk @bramalkema 031214
JavaScript And Keywords
JavaScript And Keywords
JavaScript And Debug
JavaScript And Debug
X3
X3
Paris meeting TAT - Minutes
Paris meeting TAT - Minutes
Flow.js
Flow.js
Pokolenie F
Pokolenie F
Prof.js
1.
prof.js ECMAScript 262-5th based
JavaScript Dynamic TypeSystem. with Trace and Profiling functions
2.
3.
4.
5.
6.
7.
8.
9.
10.
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); }
12.
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
14.
15.
Aspect-Oriented Programming)
16.
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
Descargar ahora