详细讲解JavaScript中forEach()方法的使用
更新时间:2015年6月8日 12:08:42 贡献者:goldensun
本文主要介绍JavaScript中forEach()方法的使用,是JS入门学习中的基础知识。 有需要的同学可以参考以下
JavaScript 字段的 forEach() 方法会为链表中的每个元素调用。
语法
array.forEach(callback[, thisObject]);
详细参数如下:
返回值:
返回创建链表。
兼容性:
这种方法是 ECMA-262 标准的 JavaScript 扩展; 因此javascript与c 的是javascript与c 的是,它可能不存在于该标准的其他实现中。 为了使其工作,您需要在脚本代码底部添加以下内容:
if (!Array.prototype.forEach) { Array.prototype.forEach = function(fun /*, thisp*/) { var len = this.length; if (typeof fun != "function") throw new TypeError(); var thisp = arguments[1]; for (var i = 0; i < len; i++) { if (i in this) fun.call(thisp, this[i], i, this); } }; }
例子:
JavaScript Array forEach Method if (!Array.prototype.forEach) { Array.prototype.forEach = function(fun /*, thisp*/) { var len = this.length; if (typeof fun != "function") throw new TypeError(); var thisp = arguments[1]; for (var i = 0; i < len; i++) { if (i in this) fun.call(thisp, this[i], i, this); } }; } function printBr(element, index, array) { document.write("
[" + index + "] is " + element ); } [12, 5, 8, 130, 44].forEach(printBr);
这将导致以下结果:
[0] is 12 [1] is 5 [2] is 8 [3] is 130 [4] is 44
JavaScript定时器原理解读
更新时间:2022年1月24日15:28:35 作者:熊*6
本文主要介绍JavaScript定时器的原理。 setTimeout() 方法用于设置计时器。 定时器在定时器超时后执行调用函数。 文章围绕JavaScript定时器的相关信息展开以下内容。 有需要的同学可以参考一下
目录
前言:
在很多页面上,我们都可以看到一些倒计时或者与时间相关的功能。 今天小熊就对JavaScript的倒计时做个概述。
首先,我们来看看定时器。 在JS中,定时器有两种:
1.setTimeout()定时器
句型:
window.setTimeout(调用函数, [延迟的毫秒数]);
setTimeout()方法用于设置一个定时器,定时器到期后执行调用函数。
例如:写一个页面,让它一秒后弹出‘Hello’。
代码如下所示:
window.setTimeout(function(){ alert('你好'); },5000);
运行结果为:
应当指出的是:
2.停止setTimeout()定时器
当我们创建了一个定时器后,如果想取消它该怎么办呢? 使用消除定时器的函数,如下:
window.clearTimeout(timeoutID)
clearTimeout() 方法取消最初通过调用 setTimeout() 构造的计时器。
这里window可以省略javascript定时器,但是上面的参数是定时器的标识。
作为一个反例:
对于上面的情况,如果我们想要停止指定的风暴,我们可以先添加一个点击按钮,然后给这个按钮添加一个风暴消除定时器。 操作是:
var hello = window.setTimeout(function(){ alert('你好'); },5000); var btn = document.querySelector('button'); btn.addEventListener('click',function(){ window.clearTimeout(hello); })
运行效果为:
可以看到,当我们不点击停止按钮时,五秒后就会弹出“Hello”。 刷新页面后,当我们点击按钮时,无论多久,都不会再有弹窗,定时器就成功消除了。
三、setInterval()定时器
让我们看看另一个计时器。
window.setInterval(回调函数, [间隔的毫秒数]);
setInterval()方法会重复调用一个函数,并且每次都会调用bounce函数。
作为一个反例:
我们来写一个定时器,让它每1秒复制一次“Hello”,代码为:
setInterval(function(){ console.log('你好') },1000);
运行效果为:
4. 清除setInterval()定时器
同样,我们也可以去掉setInterval()定时器的疗效,句型为:
window.clearInterval(intervalID);
clearInterval() 方法取消最初通过调用 setInterval() 构造的计时器。
注意:
比如我们现在有两个按钮,点击一个启动定时器,点击另一个取消定时器,操作方法为:
var btn = document.querySelectorAll('button'); var timer = null; btn[0].addEventListener('click',function(){ timer = setInterval(function(){ console.log('你好'); },1000) }) btn[1].addEventListener('click',function(){ clearInterval(timer) })
运行效果为:
5、电子午钟案例
我们现在可以制作一个电子午钟javascript定时器,显示当前的年、月、日、时、分、秒,并让它们手动更改。 代码如下:
Document div { width: 500px; margin: 100px auto; font-size: 25px; } var div = document.querySelector('div'); function showTime(){ var date = new Date(); var y = date.getFullYear(); var m = date.getMonth()+1; m = m>=10?m:'0'+m; var d = date.getDate(); d = d>=10?d:'0'+d; var h = date.getHours(); h = h>=10?h:'0'+h; var dm = date.getMinutes(); dm = dm>=10?dm:'0'+dm; var ds = date.getSeconds(); ds = ds>=10?ds:'0'+ds; var str = y+'年'+m+'月'+d+'日 '+h+'时'+dm +'分'+ds+'秒'; div.innerHTML = str; setTimeout(showTime,1000); } window.onload = showTime();
运行效果为:
至此,这篇关于JavaScript定时器原理的文章就介绍完了。 更多关于JavaScript定时器的内容,请搜索场景3之前的文章或者继续浏览下面的相关文章。 希望大家以后多多支持场景3!
发表评论