zoukankan      html  css  js  c++  java
  • 柯里化通用函数

    function curring(fn,args=[]){
          let l = fn.length
          return function(...arg){
            let newArgs = [...arg,...args]
            if(newArgs.length == l){
              return fn(...newArgs)
            }else{
              return curring(fn,newArgs)
            }
          } 
    }
    function sum(a,b,c,d){
          return a+b+c+d
    }
    let newFn = curring(sum)
    console.log(newFn(1)(2)(3)(4))
     
     
    再介绍下切片函数(因为和朋友讨论这个)
    let fn2 = function (){
                return 456
            }
            let fn1 = function(...arg){
                return arg
            }
            fn1.__proto__.before = function (fn) {  
                let that = this;  
                return function () {   
                    let a = fn2()
                    return fn.call(that,...arguments,a);   
                }
            }

            let newFn = fn1.before(fn1);
            console.log(newFn('123'))
  • 相关阅读:
    javascript变量
    javascript数据类型
    javascript基本语法
    javascript用法
    javascript简介
    js 随机生成颜色值
    JS 判断传入的变量类型是否是Array
    swiper2 swiper-slide 之间的间距调整
    IE9以及以下不支持jquery ajax跨域问题
    HBuilder只提示html 不提示js
  • 原文地址:https://www.cnblogs.com/MDGE/p/13621418.html
Copyright © 2011-2022 走看看