//为构造函数原型添加方法
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
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,精粹
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
桃源资源网 Design By www.nqtax.com
暂无“javascript 精粹笔记”评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。