1、作用域安全的构造函数
function Person(name,age){ if(this instanceof Person){ this.name=name; this.age=age; this.getInfo=function (){}; }else{ new Person(name,age); } }
```
2、函数柯里化
//使用闭包返回一个函数,函数的参数是外部函数传递+内部自身函数的参数,将内外函数的参数进行了合并。
```
var curFun=curry(fn,1,2,3,4,5); curFun(); //15 function curry(fn){ var outerArg=Array.prototype.slice.call(arguments,1); return function (){ var innerArg=Array.prototype.slice.call(arguments); var args=outerArg.concat(innerArg); fn.apply(null,args); }; } function fn(){ var len=arguments.length; var sum=0; for(var i=0;i<len;i++){ sum=sum+arguments[i]; } return sum; }