手写一些方法实现 大神勿喷

// 手写简易版的es6中数组的includes方法
Array.prototype.includes = function (item, index) {
  var arr = this;
  var flag = false;
  if (!arguments[0] || !arguments[1]) return false;
  for (let i = 0; i < arr.length; i++) { 
    if (!!index) {
      if ((typeof index == 'string' || typeof index == 'number') && (arr[i] == item && i == index)) { 
        flag = true;
        break;
      }
    } else { 
      if (arr[i] == item) { 
        flag = true;
        break;
      }
    }
  }
  return flag;
}

// 手写new函数的实现
function _new(Fn, ...args) {
  var obj = Object.create(Fn.prototype);
  // obj.__proto = Fn.prototype;
  var result = Fn.call(obj, ...args);
  return result != null && (typeof result == 'object' || typeof result == 'function') ? result : obj;
}

猜你喜欢

转载自blog.csdn.net/oQieBaoChaYinZuo/article/details/107378318
今日推荐