-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
55 lines (37 loc) · 1.59 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
To run the presentation you will need a webserver and something that can process jade. I am using Express.js, Impress.js and Jade.js.
Installation
Install node.js
Install impress.js
Introduction
Javascript is a wonderful language composed of objects, functions and landmines: https://www.destroyallsoftware.com/talks/wat
While objects and landmines are important. Functions are the very best part of Javascript. They are almost perfect and mostly misunderstood. Today we are talking (mostly) about functions.
If you already understand the brilliance of lexical scope, function scope, hoisting, higher order functions, closures, and curring, you might be in the wrong room.
You can do two things with functions: call them and call them later.
Quiz on calling functions.
Next you need to understand functional scope and lexical scope.
Quiz on both types of scope.
Show the beauty of a well written javascript in a functional style (count_zeroes.js)
If we have time fib.js would be cool to show Y Combinator with caching.
from http://www.2ality.com/2012/02/js-pitfalls.html
Major Javascript pitfalls
Dynamic this
Subtyping is difficult
Minor Javascript pitfalls
Function-scoped variables
Inadvertent sharing via closures
Extracted methods can't use this
Creating global variables via this
Automatic creation of globals
Comparison via == is weird
for...in is weird
Array-like objects
truthy and falsy values; having both undefined and null
ES5 compatibility
https://github.com/kriskowal/es5-shim/
Libraries I am not going to talk about
JQuery
Modernizer
Impress
Express
Connect
Jade