zoukankan      html  css  js  c++  java
  • js基础

    1. Object.create

    2. Object.freeze()

    用法:

    Object.freeze(a) //使得object a 里面的属性值readonly, 不可改变

    但是a也仅仅是浅冻住、

    如果 a = {b:{c:2}}, Object.freeze(a)

    然后 a.b.c = 5;

    最终a.b.c 变成了5

    3. react pureComponent

    export default function PureComponent(props, context) {
        Component.call(this, props, context)
    }
    
    PureComponent.prototype = Object.create(Component.prototype) 
    PureComponent.prototype.constructor = PureComponent //原型链继承
    PureComponent.prototype.shouldComponentUpdate = shallowCompare
    
    function shallowCompare(nexProps, nextState) {
        return !shallowEqual(this.props, nextProps) || !shollowEqual(this.state, nextState)
    }

    //shallowEqual
    export default function shallEqual(objA, objB) {
        // 从后面代码可以看出,对于两个对象的比较为这里的代码
        if (objA === objB) {
            return true;
        }
    
        if (typeof objA !== 'object' || objA === null ||
            typeof objB !== 'object' || objB === null) {
            return false;
        }
    
        const keysA = Object.keys(objA);
        const keysB = Object.keys(objB);
    
        if (keysA.length !== keysB.length) {
            return false;
        }
    
        // Test for A's keys different from B.
        for (let i = 0; i < keysA.length; i++) {
            if (!objB.hasOwnProperty(keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {
                return false;
            }
        }
    
        return true;
    }
    

      4. object.keys是非原型链的属性值。同hasOwnProperty

    hasOwnProperty.call(config, propName) &&
    !RESERVED_PROPS.hasOwnProperty(propName)

    5. Array(4)

    返回长度为4的空数组

    6. react的基础

    element.$$typeof = REACT_ELEMENT_TYPE 

    const symbolFor = Symbol.for;
      REACT_ELEMENT_TYPE = symbolFor('react.element');
  • 相关阅读:
    计算机网络基础
    计算机网络之应用层
    计算机网络之传输层
    计算机网络之网络层
    计算机通信之数据链路层
    fastjson =< 1.2.47 反序列化漏洞浅析
    你没有见过的加密
    CTF MD5之守株待兔,你需要找到和系统锁匹配的钥匙
    Redis 4.x 5.x 未授权访问
    redis安装
  • 原文地址:https://www.cnblogs.com/connie313/p/14856097.html
Copyright © 2011-2022 走看看