首页 > 其他分享 >个人js相关方法实现

个人js相关方法实现

时间:2024-11-29 12:57:41浏览次数:7  
标签:function return 个人 param js delay timeId toString 方法

js判断类型的方法实现 // 设置为全局方法,返回方法的小写类型

(function () {
  window.getTypeLowerCase = function (param) {
    // const toString = Object.create({}).toString;     const toString = {}.toString;     return typeof param === 'object' ? toString.call(param).slice(8, -1).toLocaleLowerCase() : typeof param;   }; })()

防抖函数简单实现

function debounce(fn, delay) {
    let timeId;
    return function() {
        if (timeId) clearTimeout(timeId);
        timeId = setTimeout(fn, delay);
    }
}

节流函数简单实现:

function throttle(fn, delay) {
    let startTime = Date.now();
    return function () {
        // 连续点击按钮则在Math.floor(delay / 1000)秒后再次触发
        if (Date.now() - startTime <= delay) {
          console.log('节流函数没有调用', Date.now() - startTime);
          return false;
        }
        // 重置startTime时间,为下次调用做准备
        startTime = Date.now();
        fn();
    }
}

用setTimeout实现setInterval

1 function myInterval() {
2   function interval() {
3     timeId = setTimeout(interval, 1000);
4   }
5   // 阻止重复触发myInterval函数
6   if (timeId) return false;
7   timeId = setTimeout(interval, 1000);
8 }

 

 

 

 

 

                                     

标签:function,return,个人,param,js,delay,timeId,toString,方法
From: https://www.cnblogs.com/shenhf/p/15512760.html

相关文章

  • node.js毕设基于微信小程序的图书推荐系统程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于图书推荐系统的研究,现有研究主要集中在网页端或者独立APP的开发上,专门针对微信小程序这一平台开发图书推荐系统的研究较少。在国内外,图书推荐系统多......
  • Java处理数据接口方法
    数据获取与查询接口List<User>getAllUsers();:获取所有用户信息,返回一个用户对象列表。UsergetUserById(intid);:根据用户ID获取特定用户信息。List<Product>getProductsByCategory(Stringcategory);:按照产品类别获取相关产品列表。ProductgetProductByName(Stringname)......
  • js模块化
    JavaScript模块化规范1.模块化概述什么是模块化?将程序文件依据一定规则拆分成多个文件,这种编码方式就是模块化的编码方式拆分出来的每个文件就是一个模块,模块中的数据都是私有的,模块之间相互隔离同时也能通过一些手段,可以把模块内的指定数据“交出去”,供其他模块使用......
  • JS的异步函数的理解
    异步函数是JavaScript语言中的一个重要特性,它使得编写异步代码变得更加直观和易于管理。以下是对异步函数的深入理解:1. 概念理解异步函数是使用async关键字声明的函数。当这样的函数被调用时,它返回一个Promise对象。这使得异步函数在语法上看起来与普通同步函数非常相似,但它......
  • JS怎么实现Module模块化?
    在JavaScript中实现模块化主要有两种方式:CommonJS和ES6模块。以下是这两种方法的基本实现:CommonJSCommonJS是Node.js的原生模块系统,但它也可以在浏览器环境中使用通过构建工具如Webpack或Browserify。模块导出://myModule.jsmodule.exports={myFunction:function(......
  • 左值和右值的概览及其使用方法
    左值和右值的概念及其使用方法前言一、什么是左值?什么是右值?二、左值引用和右值引用1.左值引用2.右值引用三、常量引用总结前言本文章详细讲解左值和右值的概念和使用方法,即展示了它的应用场景:移动语义和完美转发一、什么是左值?什么是右值?在C++中,所有的值不是......
  • js中的事件委托
    事件委托就是使用事件冒泡机制将子元素相关事件绑定到父元素的处理方式。假设场景:当我们在开发过程中有toolbar功能开发,toolbar中每个按钮都会触发不同的相关功能(弹窗,左边栏,右边栏,跳转等),如果给每一个按钮绑定click事件,不仅代码量多,而且不方便维护,因此需要使用事件委托,将子元素所......
  • 一节课理解Python的字符串和其使用方法
    1.字符串    字符串就是一串字符,是编程语言中表示文本类型的数据。1.1Python中的字符串    在Python中的字符串可以使用一对单引号或者一对双引号来定义。也可以用三引号来定义多行文本。字符串中的内容可以是任意文本。1.2Python字符串的书写方法  ......
  • Golang - json omitempty的用法
    omitempty的作用是在json数据结构转换时,当该字段的值为该字段类型的零值时,忽略该字段。packagemainimport("fmt""encoding/json")typeStudentstruct{Namestring`json:"name"`Ageint`json:"age"`Gradestring`json:"......
  • bash: jstack: command not found【jps、jstack、jmap、jstats 命令不生效解决】
    JVM系列文章传送门初识JVM(Java虚拟机)深入理解JVM(Java虚拟机)一文搞懂JVM垃圾回收(JVMGC)深入理解JVM垃圾回收算法一文搞懂JVM垃圾收集器JVM调优相关参数JVM场景面试题【强烈推荐】JVM性能调优–线上应用JVM内存的的预估设置【实战】JVM性能调优......