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');
  • 相关阅读:
    设计模式 5 —— 工厂模式
    Java 集合系列 14 hashCode
    Java 集合系列 13 WeakHashMap
    java 多线程——quartz 定时调度的例子
    memcached 学习 1—— memcached+spring配置
    vivado SDK之找不到"platform.h"
    ubuntu上第一个hello程序
    FPGA设计中的异步复位、同步释放思想
    异步fifo的Verilog实现
    zedboard上首个驱动实践——Led
  • 原文地址:https://www.cnblogs.com/connie313/p/14856097.html
Copyright © 2011-2022 走看看