函数是 JavaScript 中的「一等公民」

函数在 JavaScript 中可以:

JavaScript 编程特点

面向对象与函数式编程的关系

纯函数

function add(obj) {
	return obj.a + obj.b;
}
function minus(obj) {
  return obj.a - obj.b;
}
function compute(nums) {
	// console.log(add(nums));
	// console.log(minus(nums));
	return {
		add: add(nums),
		minus: minus(nums)
  }
}

var numbers = {
	a: 5,
	b: 1
};

compute(numbers).add;
// compute 不是个纯函数,依赖外界函数,但凡add和minus函数变化,返回的内容就不一致了