From http://javascript.ruanyifeng.com/grammar/function.html