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 相关文章推荐
PJ Blog修改-禁止复制的代码和方法
Oct 25 Javascript
JavaScript CSS修改学习第六章 拖拽
Feb 19 Javascript
我的Node.js学习之路(四)--单元测试
Jul 06 Javascript
原生JS实现平滑回到顶部组件
Mar 16 Javascript
利用JS屏蔽页面中的Enter按键提交表单的方法
Nov 25 Javascript
jquery中$.fn和图片滚动效果实现的必备知识总结
Apr 21 jQuery
es7学习教程之Decorators(修饰器)详解
Jul 21 Javascript
Node.js笔记之process模块解读
May 31 Javascript
bootstrap实现点击删除按钮弹出确认框的实例代码
Aug 16 Javascript
谈谈JavaScript中super(props)的重要性
Feb 12 Javascript
vue组件库的在线主题编辑器的实现思路
Apr 03 Javascript
vue backtop组件的实现完整代码
Apr 07 Vue.js
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
用Apache反向代理设置对外的WWW和文件服务器
2006/10/09 PHP
php简单实现无限分类树形列表的方法
2015/03/27 PHP
PHP编写文件多服务器同步程序
2016/07/02 PHP
JavaScript对象模型-执行模型
2008/04/28 Javascript
JavaScript Konami Code 实现代码
2009/07/29 Javascript
5秒后跳转效果(setInterval/SetTimeOut)
2013/05/03 Javascript
jquery获取URL中参数解决中文乱码问题的两种方法
2013/12/18 Javascript
浅谈jquery事件处理
2015/04/24 Javascript
Angularjs的Controller间通信机制实例分析
2016/11/07 Javascript
AngularJS控制器controller给模型数据赋初始值的方法
2017/01/04 Javascript
jQuery内容筛选选择器实例代码
2017/02/06 Javascript
jquery中关于bind()方法的使用技巧分享
2017/03/30 jQuery
jquery中有哪些api jQuery主要API
2017/11/20 jQuery
vue element-ui table表格滚动加载方法
2018/03/02 Javascript
详解JavaScript的内存空间、赋值和深浅拷贝
2019/04/17 Javascript
JS实现小星星特效
2019/12/24 Javascript
Node.js API详解之 util模块用法实例分析
2020/05/09 Javascript
python+pyqt实现12306图片验证效果
2017/10/25 Python
AI人工智能 Python实现人机对话
2017/11/13 Python
python实现Adapter模式实例代码
2018/02/09 Python
Python简单实现查找一个字符串中最长不重复子串的方法
2018/03/26 Python
浅谈django orm 优化
2018/08/18 Python
给你一面国旗 教你用python画中国国旗
2019/09/24 Python
jenkins配置python脚本定时任务过程图解
2019/10/29 Python
Python基于Hypothesis测试库生成测试数据
2020/04/29 Python
如何在sublime编辑器中安装python
2020/05/20 Python
css3 自定义字体font-face使用介绍
2014/05/14 HTML / CSS
Daniel Wellington官方海外旗舰店:丹尼尔惠灵顿DW手表
2018/02/22 全球购物
Fox Racing官方网站:越野摩托车和山地自行车装备和服装
2019/12/23 全球购物
俄罗斯隐形眼镜和眼镜在线商店:Cronos
2020/06/02 全球购物
中专自我鉴定
2014/02/05 职场文书
《都江堰》教学反思
2014/02/07 职场文书
社保委托书怎么写
2014/08/02 职场文书
2015年城乡环境综合治理工作总结
2015/07/24 职场文书
话题作文之关于呼唤
2019/11/29 职场文书
vue完美实现el-table列宽自适应
2021/05/08 Vue.js