day20-21方法setInterval与setTimeout

前端100道八股文+50道场景题 闭包是指一个函数能够访问它外部函数作用域中的变量,即使外部函数已经执行完毕。形成闭包需要三个条件:函数嵌套、内部函数引用外部变量、外部函数返回内部函数。闭包的主要作用有三个:第一,实现数据私有化。比如可以用闭包创建私有变量,外部无法直接访问,只能通过特定方法操作。第二,模块化。可以用闭包封装代码,只暴露需要的接口。第三,函数柯里化和防抖节流等高级技巧都会用到闭包。闭包的缺点是可能造成内存泄漏。因为闭包引用的外部变量不会被垃圾回收,如果大量使用闭包且不及时清理,会占用过多内存。 阅读详情

JS中setTimeout()的用法详解

setTimeout(code,millisec)
code:要调用的函数后要执行的 JavaScript 代码串。(使用函数名作为调用句柄时,不能带有任何参数,也不能加函数调用运算符(),加了以后函数会立即执行,达不到想要的效果。如果非要加,必须把这个函数加引号。)

一个小技巧,它可以实现code写函数带参数。

<script language="JavaScript" type="text/javascript"> <!-- var userName="jack";
//根据用户名显示欢迎信息
function hello(_name){    
alert("hello,"+_name);
}
//创建一个函数,用于返回一个无参数函数
function _hello(_name){    
return function(){       
hello(_name);    } }
window.setTimeout(_hello(userName),3000);
 //-->
</script>

这里定义了一个函数_hello,用于接收一个参数,并返回一个不带参数的函数,在这个函数内部使用了外部函数的参数,从而对其调用,不需要使用参数。在window.setTimeout函数中,使用_hello(userName)来返回一个不带参数的函数句柄,从而实现了参数传递的功能。
返回了一个不带参数的匿名函数,函数调用运算符运算了函数以后,返回了这个匿名函数,然后后面就可以按照我们的想法执行了。

millisec:在执行代码前需等待的毫秒数。

clearTimeout(timeoutID)
它可以让前面这个方法停下来。
timeoutID:setTimeout(code,millisec)赋值的变量名
例:

function hello(){   
alert("hello");
}
var id=window.setTimeout(hello,5000);
document.onclick=function(){   
window.clearTimeout(id);
 }
  • 此时timeoutID为id

setTimeout()重复执行:使用函数套娃法

function countSecond()
{ x = x+1
  document.fm.displayBox.value=x
  setTimeout("countSecond()", 1000)
}
countSecond()

JS中SetInterval()

setInterval(code,millisec[,“lang”])(第三个参数先不管啦!)
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

  • 如果想声明全局变量,变量前面不写var或let就好啦!
JavaScript函数全面解析:从基础到高阶应用 函数作为JavaScript中的一等公民,是构建复杂应用的核心基础。理解函数作用域、闭包机制和高阶函数应用,能够显著提升代码质量和开发效率。从变量提升到箭头函数的this绑定,从回调地狱到async/await异步处理,JavaScript函数特性既带来灵活性也暗藏陷阱。实际开发中,合理运用闭包封装状态、使用函数组合提升可读性、遵循SOLID原则设计函数,都是提升工程实践能力的关键。特别是在React Hooks和Node.js流处理等现代开发场景中,对函数的深入理解直接影响应用性能和可维护性。 阅读详情

相关推荐

前端大佬们都在使用的JavaScript工具函数宝典-内含95个工具函数方法

本文汇总了97个实用的JavaScript函数,涵盖字符串处理、日期格式化、DOM操作、数据校验、编码转换等常见场景。主要包括:1. 基础工具类(HTML转义、URL参数获取、Cookie操作等)2. DOM相关(事件绑定、元素操作、滚动控制等)3. 数据类型校验(数字、手机号、邮箱、身份证等)4. 字符串处理(截取、转换、清除特定字符等)5. 数学计算(金额大写转换、随机数生成等)6. 浏览器特性检测(移动设备判断、触摸屏检测等)7. 格式化函数(日期、货币千分位等)这些函数经过优化封装,可直接用于项目开

JackieDYH的博客 4466

javascript 给定时器调用传递参数

javascript 给定时器调用传递参数阿会楠:文章摘录自《征服AJAX Web2.0开发技术详解》。无论是window.setTimeout还是window.setInterval,在使用函数名作为调用句柄时都不能带参数,而在许多场合必须要带参数,这就需要想方法解决。例如对于

lionzl的专栏 565

计时器解决setIntervalsetTimeout的休眠问题

real-interval 如果你用setTimeout或setInterval实现过网页倒计时功能,你就会发现: 当电脑或者APP休眠了一段时间后,倒计时会出现问题:它比正确的时间慢了。 real-interval能解决这个问题。

解决setInterval和setTimeout越来越慢的问题

后端返回一个时间差,前端将其格式化为xx时xx分xx秒后展示在页面上,然后每隔1s刷新一下倒计时。但定时器不准确,会变慢,本文给出5种方案解决此问题。

qq_44318215的博客 5951

setInterval 引起的性能问题

NULL 博文链接:https://wwwzhouhui.iteye.com/blog/585388

Matlab实战:用DQN算法让机器人学会自主避障(附完整代码)

本文详细介绍了如何使用Matlab实现DQN(深度Q网络)算法,使机器人在复杂环境中学会自主避障。通过环境建模、网络架构设计、奖励函数优化及实战调试,提供了完整的代码实现和训练策略,帮助开发者快速应用于机器人路径规划项目。

t8u9v0w1x的博客 232

js仿QQ右下角弹框实现,自动定时刷新

最近公司需要做个右下角弹框功能,效果如下: 主要代码实现如下: var realInterval; var noticeStr=""; function realNotice(){ noticeStr=""; noticeStr+="您有以下未受理的投诉和催单:<br/>"; noticeStr+="<a id='noticeLayer1'>" ...

一火的专栏 468

DC/DC恒压输出控制原理与应用

DC/DC恒压输出控制

propor的专栏 4277

JavaScript APIs素材_day04

jquery

huan 1046

nmap、X-Scan漏洞扫描和Metasploit中用永恒之蓝漏洞入侵靶机并上传冰河

利用nmap、X-Scan扫描靶机的漏洞,在Metasploit中用扫描出的永恒之蓝漏洞入侵靶机,建立连接后上传冰河木马控制靶机,最后用冰河陷阱清除靶机的冰河木马,记一次完整的入侵控制实验。

m0_59302403的博客 4405

FPGA 学习系列(2):Verilog 语法基础

Verilog 由门级建模数据流建模行为建模门级建模(Gate Level Modeling):使用基本逻辑门描述电路,接近硬件物理结构。数据流建模(Data Flow Modeling):使用assign语句进行组合逻辑建模,类似数学方程式。行为建模(Behavioral Modeling):使用always代码块和if-elsecase等控制语句建模,抽象程度较高。Verilog 代码一般由模块(module)组成,每个模块描述一个独立的硬件功能。

Azperk的博客 987

Javascript实现计数器,定时警告和停止

1 <html> 2 <head> 3 <meta charset="utf-8"> 4 <title>定时警告</title> 5 </head> 6 <body> 7 <!--定时警告的问题--> 8 <h1>定时警告的问题</h...

weixin_30326741的博客 94

【系统分析师】高分论文:论软件开发方法及应用(数据中心CMDB 系统)

【摘要】本文以作者负责的"数据中心CMDB系统"建设项目为例,探讨了系统分析和建模方法在IT项目中的应用实践。项目基于ITIL框架,旨在整合分散的配置信息,构建统一CMDB平台。通过分析结构化、面向对象和构件化三种开发方法特点,项目最终采用结构化分析与V模型结合的方式,并融入面向对象设计理念。系统经过4个月开发后上线,通过增量迭代满足不同数据源接口需求,采用适配器模式提高兼容性。经过2个月试点运行和优化,系统已稳定运行并获得用户认可,为后续IT服务管理集成奠定了基础。项目实施使作者积累了

数据知道的博客 4298

HarmonyOS 6.1 实战:toggleLike方法会创建一个新的FigureModel实例并翻转其liked属性

引言在当今移动互联网生态中,潮玩盲盒社区已经成为年轻消费群体高度活跃的垂直社交场景。从POP MART到52TOYS,从线上抽盒到二手交易,整个潮玩产业链正在经历从线下实体向线上数字化的快速迁移。HarmonyOS 6.1.1作为华为全场景智慧生活操作系统的最新迭代版本,其ArkTS声明式UI框架在HarmonyOS ArkTS API 24阶段已经发展得极为成熟,为开发者提供了从类型系统、状态管理到组件化构建的一整套现代化前端开发范式。本文将以一个完整的潮玩盲盒社区单文件页面应用为例,深入剖析基于Harm

2501_92985290的博客 5116

【Pix4d精品教程】Pix4d中央子午线细化设置(测区跨两个分带)

本文介绍了在Pix4d软件中通过修改中央子午线设置来解决跨分带测区刺点问题的方法。针对测区跨3度分带(如105°和108°之间)时像控点与靶标点偏移较大的情况,建议将中央子午线设为测区中心(如106.5°)。具体操作步骤包括:修改投影文件中的中央子午线参数,选择新的输出坐标系配置文件。该方法能有效提高像控点刺点效率,为航测内业数据处理提供便利。操作简单实用,适合大比例尺测图项目中跨分带测区的数据处理需求。

智慧空间实验室 5526

基于BQ25895RTWR的锂电池充电管理硬件设计

BQ25895 是一款适用于单节锂离子电池和锂聚合物电池的高度集成型 5A 开关模式电池充电管理和系统电源路径管理器件。此类器件支持高输入电压快速充电。低阻抗电源路径对开关模式运行效率进行了优化、缩短了电池充电时间并延长了放电阶段的电池使用寿命。• 移动电源、移动 Wi-Fi 热点。• 便携式互联网器件。

corlin6688的博客 1085

HarmonyOS 6 ArkUI - 颜色变量抽离统一管理,色值定义在组件顶部,深色主题多页面配色一键统一修改

肠道菌群被称为人类的"第二基因组",随着精准医学与消费级检测的融合,越来越多的健康应用开始将专业的肠道菌群检测数据以可视化、可交互的方式呈现给普通用户。本应用正是在这一背景下诞生的一款面向年轻人的"精准营养"酸奶生物实验室风格应用,它将肠道菌群检测报告、益生菌补剂商城和精准饮食方案三大功能模块整合在同一个单文件ArkTS工程中,通过鸿蒙HarmonyOS的声明式UI范式构建出完整的用户交互体验。从技术架构层面来看,整个应用采用单入口组件()搭配多个子组件()的组件化架构模式。主入口组件通过装饰器管理全局状态

2401_89578244的博客 199

RK3588开发笔记-Buildroot编译Qt5WebEngine-5.15.10

Rockchip RK3588是一款强大的多核处理器,广泛应用于边缘计算、人工智能、嵌入式系统等领域。为了在RK3588上运行自定义的Linux系统,并使用Qt5WebEngine进行Web内容渲染,Buildroot是一个非常合适的工具。本文将详细介绍如何使用Buildroot编译并配置Qt5WebEngine-5.15.10。Qt5WebEngine是Qt框架中的一个模块,它提供了一个功能强大的Web浏览器引擎,允许开发者在Qt应用程序中嵌入和显示现代网页内容。

flypig has a dream! 1157

前端面试手写代码——使用 setTimeout 实现 setInterval

使用 setTimeout 实现 setInterval

yiguoxiaohai的博客 504

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

js clearInterval 多个定时任务 全部清除

for循环内小于定时数, 就会留一个当前执行的任务, 小于等于就是全部清除。 var end = setInterval(function(){}, 100); var start = (end - 100) > 0 ? end -100 : 0; for(var i = start; i <end; i++) { clearInterval(i); ...

tang_jian_dong的博客 2万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

几个例子弄懂JS 的setInterval的运行方式

  这篇文章主要介绍了js的setInterval方法的用法以及示例,非常的有用,这里推荐给小伙伴们。    setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。   setinterval()用法   setInterval(code,...

weixin_30682127的博客 2738

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

JS定时器如何传递参数

JS定时器 传递参数我在使用setTimeout()或setInterval()时, setTimeout(addIcons(),3000); 或 setInterval(addIcons(),3000);总是发现在页面加载的时候,它就直接执行函数,并没有在3秒之后加载。后来去查了一下,才发现问题出现在函数后面的小括号上。 setTimeout(ad

从你的全世界路过 1万+

定时器调用含参数的函数(参函数)

通常我们使用定时器来实现某种功能的时候,如下。 function numAdd(num){ num++; console.log(num); } setInterval(numAdd,1000); 由于无法传入参数num为undefined,之后进行++运算,变成NaN。 而有时候我们会这么做 function numAdd(num){ num+...

Eighteen Z 4792

setInterval()方法的使用

setInterval()是一个实现定时调用的函数,可按照指定的周期(以毫秒计)来调用函数或计算表达式。 setInterval方法会不停地调用函数,直到 clearInterval被调用或窗口被关闭。 setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。 setInterval(code,millisec[,“lang”]); code:要执行的代码块; millisec:周期性执行或调用 code 之间的时间间隔,以毫秒计 所有主要浏览器都支持 setInterval()

lvpf 9094

原生JS动画 定时器 传参

鼠标移入移出

DiDaDi的博客 1728
上一篇: day20-21让你和页面对话
下一篇: day20-21使用opacity制作渐变
RealRecall
博客等级 码龄7年 0粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值