javascript 精粹笔记

 更新时间:2010年05月09日 11:27:48   作者:  
javascript 精粹笔记,都是一些js下应用技巧之类,学习js的朋友可以简单的参考浏览下。
//为构造函数原型添加方法
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

相关文章

  • 一文讲清JS中for循环的所有用法

    一文讲清JS中for循环的所有用法

    这篇文章主要介绍了JavaScript中for循环的所有用法,文章通过详细的代码示例介绍JavaScript中的所有for循环,感兴趣的同学可以跟着小编一起来学习
    2023-05-05
  • JS中对数组元素进行增删改移的方法总结

    JS中对数组元素进行增删改移的方法总结

    本文主要JS中对数组元素进行增删改移的方法,用表格的形式进行整理,方便阅读,具有很好的参考价值,下面就跟小编一起来看下吧
    2016-12-12
  • 详细聊聊JS中不一样的深拷贝

    详细聊聊JS中不一样的深拷贝

    对于js中的对象的深拷贝在项目的开发中比较常用到,这篇文章主要给大家介绍了关于JS中不一样的深拷贝的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-10-10
  • javaScript基础详解

    javaScript基础详解

    本文主要介绍了javaScript的基础知识,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • JavaScript设计模式之原型模式分析【ES5与ES6】

    JavaScript设计模式之原型模式分析【ES5与ES6】

    这篇文章主要介绍了JavaScript设计模式之原型模式,简单描述了原型模式的概念、原理,并结合实例形式分析了ES5与ES6实现原型模式的相关操作技巧,需要的朋友可以参考下
    2018-07-07
  • JS实现的论坛Ajax打分效果完整实例

    JS实现的论坛Ajax打分效果完整实例

    这篇文章主要介绍了JS实现的论坛Ajax打分效果,以完整实例形式分析了JavaScript响应鼠标事件动态操作页面元素样式的相关技巧,需要的朋友可以参考下
    2015-10-10
  • javascript中利用数组实现的循环队列代码

    javascript中利用数组实现的循环队列代码

    javascript中利用数组实现的循环队列代码,需要的朋友可以参考下。
    2010-01-01
  • javascript 延迟加载技术(lazyload)简单实现

    javascript 延迟加载技术(lazyload)简单实现

    延迟加载技术(简称lazyload)并不是新技术, 它是js程序员对网页性能优化的一种方案.
    2011-01-01
  • js 下拉菜单实现代码

    js 下拉菜单实现代码

    js 下拉菜单实现代码,原理比较简单,需要的朋友可以参考下,具体的美化要靠自己。
    2010-05-05
  • js实现瀑布流的一种简单方法实例分享

    js实现瀑布流的一种简单方法实例分享

    现在说瀑布流式布局似乎有点晚了,但是每一项技术都是向着“精”和“简”的方向在不断发展,在发展到极致之前,需要一个相当漫长的过程,因此,从这个角度来说,当瀑布流被应用得越来越多的时候,反而更应该讨论它,讨论如何将它改善
    2013-11-11

最新评论