前端手写代码篇

164 阅读1分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第3天,点击查看活动详情

1、前端的四种单位 px:绝对单位 em:css2.0时代,以父元素的div中的font-size来计算的。

rem:css3.0时代,以根节点来的font-size来计算,继承html的根元素的大小。 rpx:小程序开发的单位。

2、手写代码 函数式编程,手写一下compose,应用场景哪些?ski(函数的组合和柯里化)

    function fn1(x){
        return x+1;
    }
    function fn2(x){
        return x+2;
    }
    function fn3(x){
        return x+3;
    }
    function fn4(x){
        return x+4;
    }
    const a = commpose(fn1,fn2,fn3,fn4);
    console.log(a(1));
    
    function compose(...fn){
        if(!fn.length) return (v)=>v;
        if(!fn.length == 1) return fn[0];
        retutn fn.reduce((pre,cur)=>(...args)
        =>pre(cur(...args)))
    }
    

柯里化和反柯里化?

    function sum(a,b,c){
        reeturn a+b+c;
    }
    
    let curriedSum = curry(sum);
    
    console.log(curriedSum(1,2,3));
    console.log(curriedSum(1)(2,3));
    console.log(curriedSum(1)(2)(3));
    
    function curry(func){
        return function curried(...args){
            if(args.length >= func.length){
                return func.apply(this,args);
            } else {
                return function(...args2){
                    return    curried.apply(this,args.concat(args2));
                }
            }
        };
    }