第三章 新手的第一堂函数课:定义与参数

 

像普通人一样编写代码和像“忍者”一样编写代码的最大差别在于是否把 JavaScript 作为函数式(functional language)来理解。对这一点的认知水平决定了你编写的代码水平。

 

1、函数是第一类对象

对象能做的任何一件事,函数也都能做。函数也是对象,唯一的特殊之处在于它是可调用的(invokable),即函数会被调用以便执行某项动作。

  • 通过字面量创建
  • 赋值给变量,数组项或其他对象的属性
  • 作为函数的参数来传递
  • 作为函数的返回值
  • 具有动态创建和分配的属性

第一类对象的特点之一是,它能够作为参数传入函数。对于函数而言,这项特性也表明:如果我们将某个函数作为参数传入另一个函数,传入函数会在应用程序执行的未来某个时间点才执行。大家所知道的更一般的概念是回调函数(callback function)。

 

2、回调函数

每当我们建立了一个将在随后调用的函数时,无论是在事件处理阶段通过浏览器还是通过其他代码,我们都是在建立一个回调(callback)。这个术语源自于这样一个事实,即在执行过程中,我们建立的函数会被其他函数在稍后的某个合适时间点“再回来调用”。

有效运用 JavaScript 的关键在于回调函数,相信你已经在代码中使用了很多回调函数——不论是单击一次按钮、从服务端接收数据,还是 UI 动画的一部分。

现在让我们看一个回调函数的用法,它能极大地简化集合的排序

  

 

3、函数作为对象的乐趣——存储函数、自记忆函数

 

posted @ 2018-05-15 23:18  有山有水有鬼  阅读(95)  评论(0编辑  收藏  举报