Skip to content

zhon/grokking-javascript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Presentation for spring utah code camp 2012

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published