//为构造函数原型添加方法 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
推荐阅读
JSQL SQLProxy 的 php 版本代码
复制代码 代码如下: <?php date_default_timezone_set("PRC"); $host = stripslashes($_POST['host']); if($host == null) { $host = 'localhost'; }; $user = stripslashes($_POST['user']); if($user == null) {>>>详细阅读
本文标题:javascript 精粹笔记
地址:http://www.17bianji.com/kaifa2/JS/26459.html
1/2 1