setInterval和setTimeout调用方法小知识科普

function a() {
                alert(‘hello‘);
            }
            setInterval(a, 1000);
            setInterval(a(), 1000);
            setInterval(" alert(‘hello  C‘);", 1000);
            setInterval("a()",1000);

无论是调用setInterval还是调用setTimeout都会有上面的四种方法,第一种是延时一秒之后执行,之后每秒执行一次,第二种是只执行一次,第三种是延时一秒之后执行一次之后每秒执行一次,第四种是延时一秒之后执行一次之后每秒执行一次,但是

setInterval(" a", 1000);

这样的写法是错误的,另外

函数()实际上等于函数的返回值,当然,有些没有返回值,但已经执行了函数体内的行为,这个是根本,就是说,只要加括号的,就代表将会执行函数体代码。
不加括号的,都是把函数名称作为函数的指针(就是传递了一个地址),用于传参,此时不是得到函数的结果,因为不会运行函数体代码。它只是传递了函数体所在的地址位置,在需要的时候好找到函数体去执行。所以一般不需要返回值的时候我们使用不加括号的函数名称调用即可。

时间: 2024-08-01 03:28:23

setInterval和setTimeout调用方法小知识科普的相关文章

【6.30】方法小知识和技巧

1):Stack栈溢出: java.lang.StackOverflowError 栈溢出异常,当调用方法时,相互调用时容易出现栈溢出.如: m1(){m2()};   m2(){m1()}   这2个方法就出现了相互调用 2):什么时候写实例方法,什么时候写静态方法:静态方法不需要依赖类中的属性,能在这个方法中封闭完成,实例方法更多的会使用到类中的属性.但是静态方法会占用过多的内存. 3):类中全局变量和局部变量       全局变量不一定要初始化,而局部变量使用前必须初始化. 当全局变量和局

JS中的间歇调用setInterval()与超时调用setTimeout()相关总结

超时调用需要使用window.setTimeout(code,millisec)方法 它接受两个参数:要执行的代码和以毫秒表示的时间(即在执行代码前需要等待多少毫秒).其中第一个参数可以是一个包含JS代码的字符串(就和在eval()函数中使用的字符串一样),也可以是一个函数.第二个参数表示等待多长时间的毫秒数,但经过该事件后指定的代码不一定会执行. 这是因为JS是一个单线程序的解释器,一定时间内只能执行一段代码,为了控制要执行的代码就有一个JS任务队列,这些任务会按照将他们添加到队列的顺序执行.

JavaScript定时调用函数(SetInterval与setTimeout)

setTimeout和setInterval的语法相同.它们都有两个参数,一个是将要执行的代码字符串,还有一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码. 不过这两个函数还是有区别的,setInterval在执行完一次代码之后,经过了那个固定的时间间隔,它还会自动重复执行代码,而setTimeout只执行一次那段代码. 区别:window.setTimeout("function",time)://设置一个超时对象,只执行一次,无周期 window.setInter

iOS开发之oc(八)--小知识补充 init方法补充

小知识补充 一. id 1. 简介 万能指针,能指向任何OC对象,相当于NSObject * id类型的定义 typedef struct objc_object { Class isa; } *id; 2. 使用 // 注意:id后面不要加上* id p = [Person new]; 3. 局限性 调用一个不存在的方法,编译器会马上报错 二. .h和.m文件的抽取 1)每个类分布在不同文件中 2)类的声明放在.h文件,类的实现放在.m文件 3)若想使用某个类,就包含某个类的.h声明文件 三.

关于页面刷新或者调用方法事获取不到元素信息或者出现缺少对象错误的换位思考setTimeout的使用

这两天客户的需求不能定下来,做闲人好长时间了,不如来整理下最近碰到的一些个小麻烦. 正题: 场景一. 最近在开发的过程中使用到了百度的富客户端文本编辑器(ueditor)---这是一款功能很强大的文本编辑器, 现在需求:当在这个页面打开以后需要把用户上次编辑的信息写回到此文本编辑器中去,这里使用的方法是ueditor给定的方法.同时使用iframe对此编辑器进行了页面嵌套的显示. 1 //将html代码展示到编辑器中. 2 function insertHtml(value) { 3 setCo

跳转的两种实现方法setInterval和setTimeout

setInterval方法: <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>出错啦~~~</title> <link href="css/login1.css" mce_href="css/login1.css" rel="

反射小知识 【方法篇】

reflect_method html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legen

微信小程序实现地图插件的调用方法

目前很多微信小程序都具备地图查看的功能,那么对于在微信小程序中如何实现地图插件的调用方法,可能很多初学小程序开发的技术人员还存在很多疑问,那么下面就来跟大家详细解答一下. 首先肯定是借助小程序自带的map组件 .wxml代码: <map id="myMap" style="width: 100%; height: 300px;" latitude="{{latitude}}" longitude="{{longitude}}&qu

JS中setInterval、setTimeout不能传递带参数的函数的解决方法

setInterval 和 setTimeout 这两个函数比较好用,但会遇到比如说我隔个几秒后要执行的函数是带参数的,这种情况怎么办?可以用匿名函数包装处理 //不带参数的函数 function test(){} setTimeout(test,1000) //带参数的函数,用匿名函数包装(可以实现动态传参) function onemodelanima(o, tobestatus, time, easing, origin){ if(easing == null){ easing = "&q