首页 > 其他分享 >js常用方法

js常用方法

时间:2023-06-05 10:44:50浏览次数:34  
标签:function 常用 return args js delay source key 方法

  • 深度克隆
    function deepClone(source) {
      // 判断是否数组或对象
      if (source.constructor != Array && source.constructor != Object) {
        return source
      }
      const targetObj =  source.constructor === Array ? [] : {}
      for(let key in source) {
        // 判断是否为自身属性
        if (source.hasOwnProperty(key)) {
          if (source[key] && typeof source[key] === 'object') {
            // 数组或对象
            targetObj[key] = deepClone(source[key])
          } else {
            // 基本类型
            targetObj[key] = source[key]
          }
        }
      }
      return targetObj
    }

     

  • 节流
    function throttle(func, delay) {
      let lastCall = 0
      return function (...args) {
        const now = new Date().getTime()
    
        if (now - lastCall < delay) {
          return;
        }
    
        lastCall = now
        return func.apply(this, args)
      }
    }

     

  • 防抖
    function debounce(func, delay) {
      let timeout
    
      return function (...args) {
        clearTimeout(timeout)
        timeout = setTimeout(() => {
          func.apply(this, args)
        }, delay)
      }
    }

     

标签:function,常用,return,args,js,delay,source,key,方法
From: https://www.cnblogs.com/chenhan666/p/17457242.html

相关文章

  • validate.js
    校验金额exportconstvalidateMoney=(rule,value,callback)=>{if(value===""){returncallback(newError("不能为空"));}if(value<=0){returncallback(newError("请输入大于0的金额"));}constreg=/^(([......
  • Java中Double除保留后小数位的几种方法
     返回double型的1.能四舍五入doubled=114.145;d=(double)Math.round(d*100)/100;System.out.println(d); 2.BigDecimal.ROUND_HALF_UP表示四舍五入,BigDecimal.ROUND_HALF_DOWN也是五舍六入,BigDecimal.ROUND_UP表示进位处理(就是直接加1),BigDecimal.ROUND_DOWN表示直接......
  • 在elementUI-admin中使用printjs进行打印功能的处理
    1.需要加入依赖npminstallprint-js--save-dev2.通过数据的处理打印表格(推荐)在utils文件夹下创建print.js文件importprintJSfrom"print-js";/** * *@param{ *   title:"",//表名 *   serial:false,//是否需要序号 *   data:[],//......
  • JS字符串转JSON
    1、jQuery插件支持的转换方式: 示例:$.parseJSON(jsonstr);//jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象2、浏览器支持的转换方式(Firefox,chrome,opera,safari,ie)等浏览器:示例:JSON.parse(jsonstr);//可以将json字符串转换成json对象 JSON.stringify(jsonobj);//......
  • vue .js获取checkbox是否选中
    1.html<divclass="weui-cellsweui-cells_checkboxfont14"v-for="iteminitems"><labelclass="weui-cellweui-check__label"><divclass="weui-cell__ftwidth-inherit"><inputtype="checkbox&q......
  • 序列化模块JSON
    序列化模块什么叫序列化——将原本的字典、列表等内容转换成一个字符串的过程就叫做序列化。【一】为什么要有序列化模块比如,我们在python代码中计算的一个数据需要给另外一段程序使用,那我们怎么给?现在我们能想到的方法就是存在文件里然后另一个python程序再从文件里......
  • 1-6 Linux常用命令总结
    用自己的理解总结文件管理,用户管理,组用户,权限管理相关的命令。 文件:【touch/rm/rmdir/cat/head/less/more】。 用户及组:user/group【useradd/userdel/usermode;groupadd/groupdel/groupmod;chsh/...】。 权限【chmod/chown/setfacl】"文件管理ls-ld/etc  看目......
  • nodejs express的部署简单记录(不详细)
    1.选用Linux系统2.node测试的包有expressknex3.Linux安装nodejs环境https://github.com/nodesource/distributions4.Linux系统权限(sudo)npm安装pm25.用pm2启动后端服务示例:pm2startindex.mjs6.注意端口号占用7.防火墙打开对应端口号 importexpressfr......
  • JS中创建对象的几种常见的方式
    创建对象方式//方式1varobj1={"name":"方式1"}//方式2varobj2={name:"方式2"}//方式3varobj3=newObject({"name":"方式3"});//方式4varobj4=newObject();obj4.name="方式4"//方式5:通过对象构造器创建对象fu......
  • JS中的异步编程
    目录前言什么是Promise?为什么用fetch?async、await基本使用方法ajax请求自定义请求HTML请求JSON请求ResponsemetadataPostformPostJSONFileupload注意点前言fetch是用来替代传统的XMLHttpRequest的。fetch的优点很多,包括链式调用的语法、返回promise等。什么是Promi......