搜索
写经验 领红包
 > 财经

vue源码讲解(看懂vue源码什么水平)

导语:vue源码全面解析(四十五)源码中使用的工具类util

vue源码讲解(看懂vue源码什么水平)

// 是 undefined 或者 nullfunction isUndef (v) {    return v === undefined || v === null  }
// 不是 undefined 或者 nullfunction isDef (v) {    return v !== undefined && v !== null  }
// truefunction isTrue (v) {    return v === true  }
// falsefunction isFalse (v) {    return v === false  }
// 基本数据类型function isPrimitive (value) {    return (      typeof value === &39; ||      typeof value === &39; ||      // $flow-disable-line      typeof value === &39; ||      typeof value === &39;    )  }
// 除了null之外的对象类型function isObject (obj) {    return obj !== null && typeof obj === &39;  }
var _toString = Object.prototype.toString;// 返回一个字符的值,通常用着数据类型判断// 例如 [object Object]、[object String]、[object NUmber]  function toRawType (value) {    return _toString.call(value).slice(8, -1)  }
var _toString = Object.prototype.toString;// 是否为 Object类型function isPlainObject (obj) {    return _toString.call(obj) === &39;  }
// 是否为正则表达式function isRegExp (v) {    return _toString.call(v) === &39;  }
// 是否为有效的数组索引function isValidArrayIndex (val) {    var n = parseFloat(String(val));    return n >= 0 && Math.floor(n) === n && isFinite(val)  }
// 是否为 Promisefunction isPromise (val) {    return (      isDef(val) &&      typeof val.then === &39; &&      typeof val.catch === &39;    )  }
// 将值转换为字符串function toString (val) {    return val == null      ? &39;      : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)        ? JSON.stringify(val, null, 2)        : String(val)  }
// 将值转换为数值 function toNumber (val) {    var n = parseFloat(val);    return isNaN(n) ? val : n  }
// 移除数组的指定项function remove (arr, item) {    if (arr.length) {      var index = arr.indexOf(item);      if (index > -1) {        return arr.splice(index, 1)      }    }  }
// 查找一个对象是否有某个属性,但是不会去查找它的原型链var hasOwnProperty = Object.prototype.hasOwnProperty;function hasOwn (obj, key) {  return hasOwnProperty.call(obj, key)}
// 把类似数组的结构转换为真实数组function toArray (list, start) {    start = start || 0;    var i = list.length - start;    var ret = new Array(i);    while (i--) {      ret[i] = list[i + start];    }    return ret  }
// 将属性混合到对象中去 function extend (to, _from) {    for (var key in _from) {      to[key] = _from[key];    }    return to  }

本文内容由快快网络小滢创作整理编辑!