javascript 精粹笔记


Posted in Javascript onMay 09, 2010

//为构造函数原型添加方法
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游戏开发之《三国志曹操传》零部件开发(三)情景对话中仿打字机输出文字
Jan 23 Javascript
js添加select下默认的option的value和text的方法
Oct 19 Javascript
Javascript调用函数方法的几种方式介绍
Mar 20 Javascript
如何编写jquery插件
Mar 29 jQuery
使用Vue自定义数字键盘组件(体验度极好)
Dec 19 Javascript
vue-cli 引入jQuery,Bootstrap,popper的方法
Sep 03 jQuery
创建echart多个联动的示例代码
Nov 23 Javascript
fastadmin中调用js的方法
May 14 Javascript
微信小程序静默登录的实现代码
Jan 08 Javascript
javascript设计模式 ? 备忘录模式原理与用法实例分析
Apr 21 Javascript
基于vue--key值的特殊用处详解
Jul 31 Javascript
详解React路由传参方法汇总记录
Nov 29 Javascript
javascript之通用简单的table选项卡实现(二)
May 09 #Javascript
javascript动态添加表格数据行(ASP后台数据库保存例子)
May 08 #Javascript
使用jQuery向asp.net Mvc传递复杂json数据-ModelBinder篇
May 07 #Javascript
javascript 通用简单的table选项卡实现
May 07 #Javascript
jQuery 创建Dom元素
May 07 #Javascript
10个基于jQuery或JavaScript的WYSIWYG 编辑器整理
May 06 #Javascript
jQuery Selector选择器小结
May 06 #Javascript
You might like
1982年日本摄影师镜头下的中国孩子 那无忧无虑的童年
2020/03/12 杂记
收集的二十一个实用便利的PHP函数代码
2010/04/22 PHP
PHP得到某段时间区间的时间戳 php定时任务
2012/04/12 PHP
php获取目标函数执行时间示例
2014/03/04 PHP
PHP生成自定义长度随机字符串的函数分享
2014/05/04 PHP
thinkphp中memcache的用法实例
2014/11/29 PHP
php gd等比例缩放压缩图片函数
2016/06/12 PHP
Laravel中log无法写入问题的解决
2017/06/17 PHP
jQuery 入门级学习笔记及源码
2010/01/22 Javascript
网页前台通过js非法字符过滤代码(骂人的话等等)
2010/05/26 Javascript
js判断运行jsp页面的浏览器类型以及版本示例
2013/10/30 Javascript
node.js应用后台守护进程管理器Forever安装和使用实例
2014/06/01 Javascript
JS实现动态给图片添加边框的方法
2015/04/01 Javascript
jQuery获取字符串中出现最多的数
2016/02/22 Javascript
Summernote实现图片上传功能的简单方法
2016/07/11 Javascript
JavaScript职责链模式概述
2016/09/17 Javascript
nodejs 实现钉钉ISV接入的加密解密方法
2017/01/16 NodeJs
js实现消息滚动效果
2017/01/18 Javascript
ES6中Proxy代理用法实例浅析
2017/04/06 Javascript
从零开始学习Node.js系列教程一:http get和post用法分析
2017/04/13 Javascript
vue基于Vue2.0和高德地图的地图组件实例
2017/04/28 Javascript
将 vue 生成的 js 上传到七牛的实例
2017/07/28 Javascript
Vue-router的使用和出现空白页,路由对象属性详解
2018/09/03 Javascript
JavaScript中交换值的10种方法总结
2020/08/18 Javascript
JavaScript中如何调用Java方法
2020/09/16 Javascript
[41:05]Serenity vs Pain 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[42:24]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第三场 11.27
2020/12/01 DOTA
python笔记:mysql、redis操作方法
2017/06/28 Python
Python爬虫文件下载图文教程
2018/12/23 Python
python3实现将json对象存入Redis以及数据的导入导出
2020/07/16 Python
世界领先的以旅馆为主的在线预订平台:Hostelworld
2016/10/09 全球购物
NULL是什么,它是怎么定义的
2015/05/09 面试题
J2EE中的容器都包括哪些
2013/08/21 面试题
三八节主持词
2014/03/17 职场文书
农行心得体会
2014/09/02 职场文书
看雷锋电影观后感
2015/06/10 职场文书