摘要: JavaScript的面向对象编程和大多数其他语言如Java、C#的面向对象编程都不太一样。如果你熟悉Java或C#,很好,你一定明白面向对象的两个基本概念: 类:类是对象的类型模板,例如,定义Student类来表示学生,类本身是一种类型,Student表示学生类型,但不表示任何具体的某个学生; 实 阅读全文
posted @ 2018-08-16 18:26 自然有道 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 1、什么是闭包 闭包,官方对闭包的解释是:一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。 闭包的特点: 1. 作为一个函数变量的一个引用,当函数返回时,其处于激活状态。 2. 一个闭包就是当一个函数返回时,一个没有释放资源的栈区。 简单的说,Ja 阅读全文
posted @ 2018-08-16 17:25 自然有道 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。 我们来实现一个对Array的求和。通常情况下,求和的函数是这样定义的: 但是,如果不需要立刻求和,而是在后面的代码中,根据需要再计算怎么办?可以不返回求和的结果,而是返回求和的函数! 当我们调用lazy_sum()时, 阅读全文
posted @ 2018-08-16 11:05 自然有道 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 高阶函数 高阶函数英文叫Higher-order function。那么什么是高阶函数? JavaScript的函数其实都指向某个变量。既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。 一个最简单的高阶函数 当我们调用add(-5, 6 阅读全文
posted @ 2018-08-16 10:43 自然有道 阅读(183) 评论(0) 推荐(0) 编辑