zoukankan      html  css  js  c++  java
  • VUE 源码工具

    1. hasOwn 是否是对象本身拥有的属性

    var hasOwnProperty = Object.prototype.hasOwnProperty;
    function hasOwn (obj, key) {
      return hasOwnProperty.call(obj, key)
    }
    
    hasOwn({ a: undefined }, 'a') // true
    hasOwn({}, 'a') // false
    hasOwn({}, 'hasOwnProperty') // false
    hasOwn({}, 'toString') // false
    // 是自己的本身拥有的属性,不是通过原型链向上查找的。
    

    2.bind 的兼容处理

     function polyfillBind (fn, ctx) {
        function boundFn (a) {
          var l = arguments.length;
          return l
            ? l > 1
              ? fn.apply(ctx, arguments)
              : fn.call(ctx, a)
            : fn.call(ctx)
        }
    
        boundFn._length = fn.length;
        return boundFn
      }
    
      function nativeBind (fn, ctx) {
        return fn.bind(ctx)
      }
    
      var bind = Function.prototype.bind
        ? nativeBind
        : polyfillBind;
    

      

      

    不积跬步,无以至千里;不积小流,无以成江海。
  • 相关阅读:
    图论4-floyd
    。。。
    [LOJ10164]数字游戏
    KMP模板
    无向图割点模板
    tarjan有向图模板
    LCA倍增模板
    P2149 [SDOI2009]Elaxia的路线
    树的直径dp模板
    [暑假集训]Day4 T3 平板涂色
  • 原文地址:https://www.cnblogs.com/caoruichun/p/15323403.html
Copyright © 2011-2022 走看看