FUNCTION

  1. curry
const curry=x=>y=>x+y;
console.log(curry(2)(3)); //5;
  1. destructuring
const {name,...user}={name:'komolei',age:24,sex:'female',family:'one'} //name:komolei ;user:{age:24...}
  1. high order function
[].sort.call([2,1,3,4],(p,n)=>p-n) // 1,2,3,4
[].map.call([2,4,5],item=>item*2) //4,8,10
[].filter.call([2,4,5],item=>item>2) // 4,5
[].reduce.call([2,4,5],(p,n)=>p+=n); // 11
[].forEach.call([2,4,5],item=>console.log(item*2))
  1. call & apply
var p={
      name:'komolei',
      add:function(p){
          console.log('name',p.name)},
      age:function(p){
          console.log('age',p.age)}}
p.name // komolei
p.add({name:'ddd'}) // name ddd
// 当写成上面这样的时候,我们想要调用就只能输入参数进行调用。
// 能不能这样调用:p.add()
// 可以,使用this
var p1={
      name:'komolei',
      add:function(){
          console.log('name',this.name)},
      age:function(){
          console.log('age',this.age)}}
// p1.add() //name komolei
// p1.add('xxx') //想要这样传参数是error的。不是废话嘛?函数是什么?接受参数,return 结果的工具。
// 那怎么传递参数呢?
// p1.add.call({name:'ccc'}) //ccc 
// this在函数中相当于占位符,当调用的时候才会想去替换真正的参数。
// call 传参有限,apply接受数组作为参数。
  1. bind
// bind 返回一个全新的深拷贝过的函数,同时绑定的this为返回的函数的call的this
// mini program 
// var that=this
that.onClick=function(){}
// this.onClick.bind(this) //上下相同。
  1. ramda -fp utility tool
    这几天一直在看function program,简称fp,与平常的面向对象的程序不一样。好吧,我也不知道怎么理解面向对象,就是万物皆对象,将所有的事物抽象成对象,来模拟现实的环境。对应js。就是基于原型链来写对象原型。所有的属性就是this上的字段。所有的方法。都写在propertype上。别的也没有什么想法了。最多es6,class般的语法糖吧。突然发现call,apply,bind的厉害了。动态切换this。

  2. 断言函数

  • 自己的理解:进行判断的函数,(data)=>false|true;
  • 程序设计中,断言assertion)是一种放在程序中的一阶逻辑(如一个结果为真或是假的逻辑判断式),目的是为了标示与验证程序开发者预期的结果-当程序运行到断言的位置时,对应的断言应该为真。若断言不为真时,程序会中止运行,并给出错误消息。
  • 跟自己的理解差不多
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 概述 函数是一个可以执行代码的对象。每个函数都是 Function 类型的实例,并且都与其他引用类型一样具有属性和...
    bowen_wu阅读 7,479评论 0 1
  • 1.函数,对象和类理解 在javaScript中定义一个函数的同时就相当于定义了一个同名的类,如 function...
    魂之挽歌w阅读 1,846评论 0 0
  • Function类型 每个函数都是Function类型的实例,因此函数名实际上也是一个指向函数对象的指针 一、函数...
    McRay阅读 1,283评论 0 1
  • 一、参考一个例子让你读懂什么是JS闭包[https://www.bilibili.com/video/BV16V4...
    合肥黑阅读 3,616评论 0 1
  • 心心念念最后一天快点来到 可时间真到了这一天 还是有点舍不得 我想再看看这里的大虾 想再看看穿着青蛙衣服的阳光 想...
    夏小时阅读 1,234评论 0 1

友情链接更多精彩内容