我正在参加「码上掘金挑战赛」详情请看:码上掘金挑战赛来了!
一、作用域包裹
使用立即执行函数包裹业务逻辑。
避免全局污染:所有库的逻辑,库所定义和使用的变量全部被封装到了该函数的作用域中。
隐私保护:但凡在立即执行函数中声明的函数、变量等,除非是自己想暴露,否则绝无可能在外部获得。
(function(){
// ...逻辑代码
})()
二、_对象
_是一个函数对象,之后所有的 api 都会被挂载到这个到对象上。
三、_()调用
虽然Underscore推崇函数式编程,但也支持面向对象风格的函数调用,仅需要通过 _() 来包裹对象即可。
当我们进行如下调用时: _([2,3,4]) 会创建一个新的underscore对象(从而能够调用underscore提供的方法),并在this._wrapped中存储传入的数据。
四、mixin
五、链式调用