new post-Eloquent JavaScript(2th)-chapter 2