Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Base2
Search
othree
September 26, 2011
Programming
1k
1
Share
Base2
othree
September 26, 2011
More Decks by othree
See All by othree
How GitHub Supports Vim License Detection, The Five Years Journey
othree
1
2.2k
WAT JavaScript Date
othree
3
2.2k
Modern HTML Email Development
othree
3
2.7k
MRT & GIT
othree
1
2.4k
YAJS.vim and Vim Syntax Highlight
othree
1
3.1k
Web Trends to 2015
othree
4
350
Transducer
othree
9
3.1k
HITCON 11 Photographer
othree
4
530
fetch is the new XHR
othree
6
3.6k
Other Decks in Programming
See All in Programming
2026_04_15_量子計算をパズルとして解く
hideakitakechi
0
130
CursorとClaudeCodeとCodexとOpenCodeを実際に比較してみた
terisuke
1
510
ふりがな Deep Dive try! Swift Tokyo 2026
watura
0
260
AI時代のPhpStorm最新事情 #phpcon_odawara
yusuke
0
240
Firefoxにコントリビューションして得られた学び
ken7253
2
150
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
16
5.6k
PCOVから学ぶコードカバレッジ #phpcon_odawara
o0h
PRO
0
290
Claude CodeでETLジョブ実行テストを自動化してみた
yoshikikasama
0
1.1k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyKaigi 2026, Hakodate, Japan
marcoroth
0
570
How Swift's Type System Guides AI Agents
koher
0
320
JAWS-UG横浜 #100 祝・第100回スペシャルAWS は VPC レスの時代へ
maroon1st
0
200
Vibe NLP for Applied NLP
inesmontani
PRO
0
560
Featured
See All Featured
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
270
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
220
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.3k
Un-Boring Meetings
codingconduct
0
280
Facilitating Awesome Meetings
lara
57
6.8k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
340
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
540
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
190
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
120
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Transcript
othree • http://blog.othree.net • ۃ၌Ҧஔ(JavaScript, (X)HTML, CSS, ....) • MightHappyDesigner
1
ʞʱᙒᑺʞɤੵҳᅂ˪ 2
DEMO 3
4
5
6
7
8
base2 A JavaScript Library by Dean Edwards 9
Dean Edwards 10
IE7.js ˢฆழIE7ᒔϘ 11
IE8.js ฆழIE8ᒔӚ̈ 12
base2 13
ʔԶਗतࣖ 14
ʔԶਗतࣖ ӚϞUIᗫ̌ঐ 15
ʔԶਗतࣖ ӚϞUIᗫ̌ঐ ʔ၍Ajax 16
ʔԶਗतࣖ ӚϞUIᗫ̌ঐ ʔ၍Ajax ԟՑֵϞʡჿk 17
੶JavaScriptႧԊ 18
һ࢙ක೯Application 19
base2 •Base •Map •Collection •RegGrp •Module •Package •Enumerable •JavaScript 20
base2 •Base •Map •Collection •RegGrp •Module •Package •Enumerable •JavaScript 21
Base 22
ᘱו 23
.prototype 24
Base.extend({k: v}) 25
Map, Collection, Enumerable 26
JavaScriptࡡԸӚϞ 27
Enumerable Map Collection every filter invoke map pluck reduce some
add getAt item putAt removeAt reverse sort copy forEach get getKeys getValues has merge 28
RegGrp • ɓࡈRegular Expressionي • εଡ଼pattern, replacement 29
JavaScript • Array2 • Date2 • String2 30
Array2 • pop • push • contains • sort, reverse
• filter • ...... 31
Date2 • toISOString • now • parse 32
Date2 • toISOString • now • parse 32 (“2008/03/29”)
String2 • trim 33
Cast in Native Object • base2.JavaScript.bind(window); 34
base2.DOM 35
Yet Another JS Lib Without Document 36
ࡌ͍ᓭᚎኜ፹Ⴌ 37
อᅺྼЪ 38
• view.getComputedStyle() • node.compareDocumentPosition() • document.activeElement (HTML5) • document.createEvent() •
document|element.addEventListener() • document|element.removeEventListener() • document|element.dispatchEvent() • document|element.querySelector() • document|element.querySelectorAll() 39
• view.getComputedStyle() • node.compareDocumentPosition() • document.activeElement (HTML5) • document.createEvent() •
document|element.addEventListener() • document|element.removeEventListener() • document|element.dispatchEvent() • document|element.querySelector() • document|element.querySelectorAll() 39
• element.ownerDocument • element.getAttribute() • element.hasAttribute() • element.matchesSelector() • element.setAttribute()
40
• event.target • event.relatedTarget • event.initEvent() • event.preventDefault() • event.stopPropagation()
• style.getPropertyValue() • style.setProperty() 41
Rules for JavaScript Library Authors http://dean.edwards.name/weblog/2007/03/rules/ 42
ഐሞ 43
ၾʔΝٙJS Lib 44 Ꮠ༈ܘϞ͜
ҢӚί͜ 45
Ңɰʔٝ༸Ϟም͜ 46
νО՟ 47
google://base2 48
http://code.google.com/p/base2/ 49
Thanks For Your Attention 50