通用函数方法

对象冻结

想将对象冻结,应该使用**Object.freeze()**方法

const foo = Object.freeze({});

// 常规模式时,下面一行不起作用;
// 严格模式时,该行会报错
foo.prop = 123;

除了将对象本身冻结,对象的属性也应该冻结。下面是一个将对象彻底冻结的函数:

let constantize = (obj) => {
  Object.freeze(obj);
  Object.keys(obj).forEach( (key, i) => {
    if ( typeof obj[key] === 'object' ) {
      constantize( obj[key] );
    }
  });
};

防抖函数

防抖函数原理:在事件被触发n秒后再执行回调,如果在这n秒内又被触发,则重新计时。

function debounce(fn, delay) {

  // 定时器,用来 setTimeout
  let timer

  // 返回一个函数,这个函数会在一个时间区间结束后的 delay 毫秒时执行 fn 函数
  return function () {

    // 保存函数调用时的上下文和参数,传递给 fn
    let context = this
    let args = arguments

    // 每次这个返回的函数被调用,就清除定时器,以保证不执行 fn
    clearTimeout(timer)

    // 当返回的函数被最后一次调用后(也就是用户停止了某个连续的操作),
    // 再过 delay 毫秒就执行 fn
    timer = setTimeout(function () {
      fn.apply(context, args)
    }, delay)
  }
}

适用场景:
按钮提交场景:防止多次提交按钮,只执行最后提交的一次
服务端验证场景:表单验证需要服务端配合,只执行一段连续的输入事件的最后一次,还有搜索联想词功能类似

节流函数

防抖函数原理:规定在一个单位时间内,只能触发一次函数。如果这个单位时间内触发多次函数,只有一次生效。

// 节流函数
const throttle = (fn, delay = 500) => {
  let flag = true;
  return (...args) => {
    if (!flag) return;
    flag = false;
    setTimeout(() => {
      fn.apply(this, args);
      flag = true;
    }, delay);
  };
};

适用场景:

拖拽场景:固定时间内只执行一次,防止超高频次触发位置变动
缩放场景:监控浏览器resize
动画场景:避免短时间内多次触发动画引起性能问题

手机号码验证

function isPhone(tel) {
    var regx = /^1[34578]\d{9}$/;
    return regx.test(tel);
}

邮箱验证

function isEmail(email) {
    var regx = /^([a-zA-Z0-9_\-])+@([a-zA-Z0-9_\-])+(\.[a-zA-Z0-9_\-])+$/;
    return regx.test(email);
}

身份证号码验证

function isCardNo(number) {
    var regx = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
    return regx.test(number);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Excel VBA 是一种编程语言,可以在Excel中创建自定义函数来实现各种功能。通用函数是一种可以被多个工作表或工作簿调用的函数,在不同的数据和条件下都能正常工作。 要创建通用函数,首先需要打开Excel并按下“ALT + F11”来打开Visual Basic for Applications(VBA)编辑器。 在编辑器中,选择插入菜单,并点击“模块”来创建一个新的模块。在模块中,可以编写自己的VBA代码来定义函数。 为了创建通用函数,需要确定函数的名称、输入参数和返回值。可以使用“Function”关键字来定义函数并指定函数的名称。例如,以下是创建一个计算两个数之和的通用函数的示例代码: ``` Function SumNumbers(num1 As Double, num2 As Double) As Double SumNumbers = num1 + num2 End Function ``` 在上述示例中,函数名为`SumNumbers`,它接受两个参数`num1`和`num2`,返回一个值作为两个参数的和。 定义好函数后,可以在Excel工作表中调用它。在单元格中输入`=SumNumbers(2, 3)`,按下回车键即可获取计算结果。 通用函数不仅仅限于简单的计算,还可以实现复杂的逻辑和数据处理。可以在函数内部使用VBA的各种功能来满足实际需求,例如控制流程、条件判断、循环等。 总之,通过Excel VBA,可以轻松创建能在多个工作表或工作簿中使用的通用函数,以实现更高效、精确和自动化的数据处理和计算。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值