函数柯里化currying,是函数式编程非常重要的一个标志。它的实现需要满足以下条件,首先就是函数可以作为参数进行传递,然后就是函数可以作为返回值return出去。我们依靠这个特性编写很多优雅酷炫的代码。那我们来看一下最简单的实现。大家一般都是举addSum的例子,我当然也不例外。add = (num1)->return (num2)->return num1 + num2;add3 = add(3);
add5 = add(5);add3(5) # 返回8
add5(5) # 返回10 上述例子其实已经对柯里化的实...
[20141121]JavaScript之Array常用功能汇总*:first-child {margin-top: 0 !important;
}body>*:last-child {margin-bottom: 0 !important;
}/* BLOCKS
=============================================================================*/p, blockquote, ul, ol, dl, table, pre {margin: 15px 0;
}/* HEADERS
=============================================================================*/h1, h2, h3, h4, h5, h6 {margin: 20p...
在js中,关于继承只有利用构造函数和原型链两种来现实。以前所见到的种种方法与模式,只不过是变种罢了。借用构造函数?123456789101112131415161718192021// 一个动物类,包含名字和性别属性functionAnimal (name, sex) { this.name = name; this.sex = sex; this.getName = function(){ returnthis.name; }; } // Cat类继承Animal基类,并且拥有额外的属性functionCat (name, sex, hasLegs) { ...
函数定义和调用 定义函数,在JavaScript中,定义函数的方式如下: function abs(x){ if(x >=0){ return x; }else{ return -x; } } 上述abs() 函数的定义如下: function 指出这是一个函数定义; abs 是函数的名称; (x) 括号内列出函数的参数,多个参数以...
为了让函数只在页面加载完毕后才得到执行,我们会把函数绑定到onload事件上:window.onload = userFunction但如果有两个函数:firstFunction() 和
secondFunction(),都想让它们在页面加载完毕后得到执行,该怎么办?如果这样: window.onload = firstFunciton; window.onload = secondFunction;只有最后一个函数能被执行。由此可得:每个事件处理函数只能绑定一条指令。但我们可以这样做: window.onload = function...
解决JavaScript中构造函数浪费内存的问题!把构造函数中的公共的方法放到构造函数的原型对象上! // 构造函数的问题!function Gouzaohanshu(name, age, gender) {this.name = name;this.age = age;this.gender = gender;// this.hanshu = function() {// console.log(123)// }}// 把构造函数放到我们的原型对象身上!Gouzaohanshu.prototype.hanshu = function () {console.log(123)}var gz = new Gouzaohanshu(‘lvhang‘, ...
1. 复杂数据类型 Object ECMAScript中的对象其实就是一组数据(属性)和功能(方法)的集合。 1) 创建Object实例: 1.使用构造函数创建,new Object() var person = new Object(); person.name = "briup"; person.age = 22; 2.使用对象字面量表示法 不同的属性之间用‘,‘分割,属性名和属性值之间用‘:‘分割 var person = { name : "briup",...
对于学习前端,学习javascript,犀牛书是一本很好的书,很系统的介绍了JS的具体知识,所以很厚重,对于这么厚重的一本书,翻译是一个很大的挑战,能够将这么厚一本原版书翻译成中文,并出版,着实不易,而且翻译的整本书的质量,总体上来说也是非常不错的,是学习JS的不错的书籍。我也很庆幸自己买了一本来看,这对我学习js确实有很大的帮助,让我既可以系统的了解js的大概知识体系,也可以细嚼其细节知识。但是在阅读的过程中,我...
bug合集又开始了 坑王 操作数选择器。。。 原文:https://www.cnblogs.com/cx2016/p/13202893.html
// 判断是否是手机function plat_is_mobile(){ var sUserAgent = navigator.userAgent.toLowerCase(); var bIsIpad = sUserAgent.match(/ipad/i) == "ipad"; var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os"; var bIsMidp = sUserAgent.match(/midp/i) == "midp"; var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4"; var bIsUc = sUserAgent.match(/ucw...
什么叫非构造函数的继承?比如,现在有一个对象,叫做"中国人"。 var Chinese = { nation:‘中国‘ };还有一个对象,叫做"医生"。 var Doctor ={ career:‘医生‘ }请问怎样才能让"医生"去继承"中国人",也就是说,我怎样才能生成一个"中国医生"的对象?这里要注意,这两个对象都是普通对象,不是构造函数,无法使用构造函数方法实现"继承"。二、object()方法object()函数,可以做到这一点。 functio...
原文:http://javascriptissexy.com/翻译:http://blog.csdn.net/luoweifu/article/details/41466537【建议阅读原文,以下为个人学习笔记,有部分知识点补充,不喜勿喷】在JavaScrip中,function是内置的类对象,也就是说它是一种类型的对象,可以和其它String、Array、Number、Object类的对象一样用于内置对象的管理。因为function实际上是一种对象,它可以“存储在变量中,通过参数传递给(别一个)函数(function),在函数内部创建...
对于浏览器窗口大小改变的时候,来动态改变页面元素的大小,可以采用window的resize事件,实现代码:<script type="text/javascript">var n = 0;function resizehandler(){console.log(new Date().getTime());console.log(++n);}window.onresize = resizehandler;
</script>功能能够实现,都是当我们用拖拽的方式改变浏览器大小的时候,控制台会不断打印执行resizehandler的函数的结果。一次简单的拖拽会让resizehandler()函数执行...
函数的作用域和this的指向我已经在前面的文章中讲过,今天主要讲讲函数的绑定。函数绑定要创建一个函数,可以在特定的this环境中以指定参数调用另外一个函数。该技巧常常和回调函数与事件处理程序一起使用,以便在将函数作为变量传递的同时保留函数的代码执行环境。函数绑定看下面的例子:var handler = {message:"消息来了!",handlerClick :function(event){document.write(this.message);}
}
//一般的指定不能改变this的指向
va...
因为ECMAScript中函数名本事就是一个变量,所以函数也可以作为值来使用,即不仅可以向传递参数一样把函数传递给另一个函数,而且可以将函数作为另一个函数返回这个函数接受两个参数,第一个参数是一个函数名,第二个参数是传递给该函数的一个值function add(num){return num+10;}var result=callFunction(add,10){alert(result);//20}原文:http://blog.csdn.net/hephec/article/details/39324497