javascript 精粹笔记_Javascript教程-查字典教程网
javascript 精粹笔记
javascript 精粹笔记
发布时间:2016-12-30 来源:查字典编辑
摘要://为构造函数原型添加方法Function.method=function(name,func){this.prototype.name=f...

//为构造函数原型添加方法

Function.method=function(name,func){

this.prototype.name=func;

}

Number.method("integer",function(){

return Math[this < 0 ? 'ceil':'floor'](this);

});

(-10/3).integer();//-3

String.method("trim",function(){

return this.replace(/^s+|s+$/g,'');

})

" neat ".trim();//neat

//闭包

var quo = function(status){

return{

get_status:function(){

return status;

}

}

}

var myQuo = new quo("amazed");

myQuo.get_status();//amazed

//闭包经典例子片段

for(var i=0;i<lis.length;i++){

lis.onclick=function(i){

return function(){

alert(i);

};

}(i);

}

//套用

Function.method("curry",function(){

var slice=Array.prototype.slice,

args = slice.apply(arguments),

that = this;

return function(){

return that.apply(null,args.contact(arguments));

}

})

//记忆 递归

var memoization = function(memo,usefn){//抽象化

var fn = function(n){

var result = memo[n];

if(typeof result!=='number'){

result=usefn(fn,n);

memo[n]=result;

}

return result;

};

return fn;

};

var factorial= memoization([0,1],function(fn,n){//递归的形式

return fn(n-1)*n

});

factorial(5)//120

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Javascript教程学习
    热门Javascript教程学习
    编程开发子分类