当前位置: 首页 > 编程笔记 >

vue源码中的检测方法的实现

曾航
2023-03-14
本文向大家介绍vue源码中的检测方法的实现,包括了vue源码中的检测方法的实现的使用技巧和注意事项,需要的朋友参考一下

判断是否为undefined或null

const isDef = (v) => {
 return v !== undefined && v !== null
}

判断是否为Promise 函数

const isPromise = (val) => {
 return (
  val !== undefine &&
  typeof val.then === 'function' &&
  typeof val.catch === 'function'
 )
}

判断是否为简单数据类型

const isPrimitive (value) => {
 return (
  typeof value === 'string' ||
  typeof value === 'number' ||
  typeof value === 'symbol' ||
  typeof value === 'boolean'
 )
}

严格检查复杂数据类型

const isPlainObject = (obj) => {
 return Object.prototype.toString.call(obj) === '[object Object]'
}

const isRegExp = (v) => {
 return Object.prototype.toString.call(v) === '[object RegExp]'
}

将驼峰字符串转成连接符 magicEightTall 转换成 magic-eight-tall

const hyphenateRE = /\B([A-Z])/g
const hyphenate = (str) => {
 return str.replace(hyphenateRE, '-$1').toLowerCase()
}

将连接符转成驼峰字符串 magic-eight-tall 转换成 magicEightTall

const camelizeRE = /-(\w)/g
const camelize = (str) => {
  return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')
}

如果不想重复转换,可用以下方法调用转换函数

const cached = (fn) => {
  const cache = Object.create(null)
  console.log(cache);
  return ((str) => {
   const hit = cache[str]
   return hit || (cache[str] = fn(str))
  })
};


const camelize = cached((str) => {
  return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')
})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍Vue源码解析之Template转化为AST的实现方法,包括了Vue源码解析之Template转化为AST的实现方法的使用技巧和注意事项,需要的朋友参考一下 什么是AST 在Vue的mount过程中,template会被编译成AST语法树,AST是指抽象语法树(abstract syntax tree或者缩写为AST),或者语法树(syntax tree),是源代码的抽象语法结构的树

  • 本文向大家介绍vue中实现动态生成二维码的方法,包括了vue中实现动态生成二维码的方法的使用技巧和注意事项,需要的朋友参考一下 最近项目中有个裂变分享的需求,需要在页面中根据分享人的身份动态生成二维码图片放置在页面中,所以研究了一下这个功能的实现,同时把实现过程记录如下: 1.引入二维码生成模块 注意:此处安装qrcodejs2,安装依赖后可在main方法中进行全局引用设置,也可单独某个页面中进行

  • 本文向大家介绍asp.net实现中英文多域名检测的方法,包括了asp.net实现中英文多域名检测的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了asp.net实现中英文多域名检测的方法。分享给大家供大家参考,具体如下: 第一步:在前台页面中写入js代码和相关控件 第二步:在后台页面中写入方法 更多关于asp.net相关内容感兴趣的读者可查看本站专题:《asp.net字符串操作技巧汇总

  • 注释中说避免泄露参数。不明白如果不按源码中那么写,是如何有泄露参数的风险?

  • 本文向大家介绍Vue中插入HTML代码的方法,包括了Vue中插入HTML代码的方法的使用技巧和注意事项,需要的朋友参考一下 我们需要吧<p>Hello World</p>插入到<p>My name is Pjee</p>应该如何做? 一、使用v-html v-html:更新元素的 innerHTML 注意:你的站点上动态渲染的任意 HTML 可能会非常危险,因为它很容易导致 XSS 攻击。请只对可

  • 本文向大家介绍vue 检测用户上传图片宽高的方法,包括了vue 检测用户上传图片宽高的方法的使用技巧和注意事项,需要的朋友参考一下 需求: 用户可上传3-6张图片(第 1 2 3 张必须传),上传的图片必须是540 * 330 像素。 第一步,获取上传的图片的宽高。 初始化一个对象数组,宽高均设为0。 如果用户上传的图片没有上限,可以动态修改这个对象数组。 data: HTML: myupload