【JavaScript】关于 setInterval() 调用函数方法的一次实验
实验主题:
setInterval() 方法是 JS 中比较常用的一个方法。setInterval() 方法可以按照指定的周期 ( 毫秒 ) 来调用函数方法或计算表达式。
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。
注:1000 毫秒 = 1秒
setInterval() 语法:
setInterval(code, millisec, lang)
参数 | 描述 |
---|---|
code | 必须。要调用的函数或要执行的代码串。 |
millisec | 必须。周期性的执行或调用 code 之间的时间间隔。 |
lang | 可选。JScript | VBScript | JavaScript |
setInterval() 返回值:number值,是一个可以传递给 Window.clearInterval() 从而取消对 code 的周期性执行的值。测试代码:
var id = setInterval("foo1()",100);
alert(typeof(id));
setInterval() 作为 JavaScript 的一个计时事件,可以使代码在一个设定的时间内反复的执行多次,而不是在函数被调用后立即执行,这就是我们的计时事件。JavaScript 的另一个计时事件是 setTimeout(),他们两个都是 HTML DOM Window 对象的方法。
因为是 Window 的对象方法,所以加前缀 " window. " 对调用没有什么影响。另外,clearInterval() 也是 Window 的对象方法。
实验测试:
var foo1 = new Function("return alert('!!!')");//正常运行,而且刚开始时不会执行
setInterval(foo1,2000);//注意:Function不能写成function
var foo2 = new Function("alert('!!!')");//正常运行,而且刚开始时不会执行
setInterval(foo2,2000);
var foo3 = new Function(return alert('!!!'));//错误,抛出异常:"Uncaught SyntaxError: Unexpected token return"
setInterval(foo3,2000);
var foo4 = new Function(alert('!!!'));//刚开始运行一次,没有异常
setInterval(foo4,2000);
setInterval(function(){alert("!!!")},2000);//正常运行,而且刚开始时不会执行
setInterval(foo5(),2000);//刚开始运行一次,没有异常,执行一次的原因可能是载入过程中执行
function foo5(){
alert("!!!");
};
function foo6(){
alert("!!!");
};
setInterval(foo3(),2000);//注释掉这里不会运行函数,所以并不是载入脚本时自动执行的函数,而是被setInterval()调用执行了一次
setInterval("foo7()",2000);//正常运行,而且刚开始时不会执行
function foo7(){
alert("!!!");
};
function foo8(){//正常运行,而且刚开始时不会执行
alert("!!!");
};
setInterval("foo8()",2000);
setInterval("foo9",2000);
function foo9{//错误,抛出异常:"Uncaught SyntaxError: Unexpected token {"
alert("!!!");
};
function foo10(){//不会执行调用函数
alert("!!!");
};
setInterval("foo10",2000);
function foo11(){//正常运行,而且刚开始时不会执行
alert("!!!");
};
setInterval(foo11,2000);
实验总结:
要想通过 setInterval() 方法正常调用执行函数,有三种方法:
- 通过 new 创建一个函数字面量,如 foo1
- 声明一个函数,然后通过字符串的形式调用,如 foo7
- 如果函数没有参数,则可以 foo11 的形式调用函数
附:如果需要停止计时事件,则需要这样:
var id = setInterval("foo1()",100);
function foo2(){
clearInterval(id);
}
停止计时事件需要给出被停止的事件的 id。
【JavaScript】关于 setInterval() 调用函数方法的一次实验的更多相关文章
- thinkphp模版调用函数方法
原文:thinkphp模版调用函数方法 {变量|函数1|函数2|函数3=参数1,参数2,参数3,###} ###为第4个参数,代表变量替换为第4个参数 举例: {$username|substr=0, ...
- (二)学习JavaScript之setInterval和clearInterval方法
参考:http://www.w3school.com.cn/jsref/met_win_setinterval.asp HTML DOM Window 对象 定义和用法 setInterval() 方 ...
- JS按照指定的周期来调用函数方法
setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式. setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭.由 s ...
- setTimeOut(),和setInterVal()调用函数加不加括号!!!
直接在ready中调用其他方法,会提示缺少对象的错误,解决方法如下: 方法1. 应用jQuery的扩展可以解决这个问题. $(document).ready(function(){ $.extend( ...
- 理解JavaScript的立即调用函数表达式(IIFE)
首先这是js的一种函数调用写法,叫立即执行函数表达式(IIFE,即immediately-invoked function expression).顾名思义IIFE可以让你的函数立即得到执行(废话). ...
- source insight 如何建工程--以及快捷方式查找调用函数方法
在source insight的view菜单中点出relation window,然后右键点relation window,选relation window properties,然后把view re ...
- 【javascript】onblur调用函数失效问题记录
在处理页面上一个失焦效果时遇到了 xxxx is not a function 这样的错误,但函数确实有定义成功 ,经过测试发现是 id 值与函数名一致导致的问题,但是产生的原因没有找到详细的解释 ...
- pycharm中调用函数方法自动补全p,m,c,v,f分别是什么意思
p:parameter 参数m:method 方法c:class 类v:variable 变量f:function 函数
- vue input,textarea失去焦点调用函数方法
<input type="number" class="num" value="1" @blur.prevent="chan ...
随机推荐
- 关于如何将html中的表格下载成csv格式的方法
今天在网上看了很多方法,自己还是慢慢探索写出了最终效果 简单代码如下: <!DOCTYPE html> <html> <head> <meta content ...
- selenium+python之自动换测试用例执行
1.一个用例为一个完整的场景,从用户登陆系统到最终退出并关闭浏览器. 2.一个用例只验证一个功能点,不要试图在用户登陆系统后把所有的功能都验证一遍. 3.尽可能少的编写逆向逻辑用例.一方面因为逆向逻辑 ...
- Python+selenium 之操作Cookie
在验证浏览器中cookie是否正确时,有时基于真实cookie的测试是无法通过白盒和集成测试进行的.Webdriver提供了操作Cookie的相关方法,可以读取,添加和删除cookie信息. 文本we ...
- POJ 2288 Islands and Bridges (状压DP,变形)
题意: 给一个无向图,n个点m条边,每个点有点权,要求找到一条哈密顿路径,使得该路径的f(path)值最大.输出f值,若有多条最大f值的路径,输出路径数量. f值由如下3点累加而来: (1)所有点权之 ...
- ZOJ 1729 Hidden Password (字符串最小表示)
以前听过,不知道是什么,其实就是字符串首尾相连成一个环,n种切法求一个字典序最小的表示. 朴素算法大家都懂.O(n)的算法代码非常简单,最主要的思想是失配的时候尽可能大的移动指针. 另外附上一个不错的 ...
- CPP-基础:新标准 C++iostream
在新的标准 C++ iostream 库中: 1. open 函数不采用第三个参数(保护参数). 2. 无法从文件句柄创建流. 3. 除了几个例外,新的标准 C++ 库中的所有名称都在 std 命名空 ...
- 实验1 c语言最基本内容
part 1 验证性内容 总结:经受了数组和结构体的双重折磨后,发现这部分好简单...现在没啥问题了... part 2 补全程序 1.判断奇偶 // 程序功能: // 要求用户从键盘输入一个整数 ...
- thinkphp 为什么访问路径错误,还可以访问
在学习中访问入口文件,实际上应该访问public\index\index\ 但其实也可以访问application.admin.controller\index,同样可以在网页下显示 原理:pub ...
- Unity3d 判断物体是否在可见范围内
unity中自带两个回调函数: void OnBecameVisible()//当物体可见时,回调一次. void OnBecameInvisible()//当物体不可见时,回调一次. 在untiy编 ...
- 使用CAShapeLayer实现复杂的View的遮罩效果
一.案例演示 最近在整理一个聊天的项目的时候,发送图片的时候,会有一个三角的指向效果,指向这张图片的发送者.服务端返回给我们的图片只是一张矩形的图片,我们如何把一张矩形的图片或者View,加上一层自定 ...