在js总使用setTimeout的注意事项

setTimeout 在 js 中的使用频率很高,最常见的就是计时器。

setTimeout 的使用方法很简单 var r = setTimeout(func , 1000);

首先它是用返回值,可以利用返回值来清除setTimeout ,clearTimeout(r)

setTimeout 的调用方式

setTimeout(func , 1000);

setTimeout("func()" , 1000);

setTimeout(function(){func ()} , 1000);

第一种方式特别需要注意的就是this的指向问题。

var A = function()

{

this.key = 1;

this.valuesss = 1;

this.func = function()

{

alert(this.valuesss);

}

}

var a = new A();

setTimeout(a.func,1000);

这个时候肯定会提示 找不到valuesss,原因就是this指向了window

window.setTimeout = function(func,timer) {}

时间: 2024-12-27 05:14:46

在js总使用setTimeout的注意事项的相关文章

JS中的setTimeout和setInterval的区别

学了许久的javascript,发现其中非常常用的两个函数,就是setInterval和setTimeout函数,对这两个函数的理解,有时觉得很模糊,经过多次的试验,终于对它有了比较深入的了解.定义,setInterval()-- 间隔指定的毫秒数不停地执行指定的代码.setTimeout,延迟两秒调用函数,这个定义非常的简单,但是它并不像字面意思上那么的简 很多人都觉得这两个方法差不多,但是,实际上,他们差的很远呢     因为setTimeout(表达式,延时时间)在执行时,是在载入后延迟指

js添加确认删除操作注意事项

1 function delsure(){ 2 if(confirm('确认删除吗?')){ 3 return true;//点击确定则返回这里的内容 4 }else{ 5 return false; 6 } 7 } 在表单中添加onsubmit="return delsure(this)", confirm("确认删除吗?")如果点确定返回true,点取消返回false,必须要添加return true和return false,不然不起作用! js添加确认删除操

js中的SetTimeOut

1. SetTimeOut()              1.1 SetTimeOut()语法例子              1.2 用SetTimeOut()执行Function              1.3 SetTimeOut()语法例子              1.4 设定条件使SetTimeOut()停止              1.5 计分及秒的counter    2. ClearTimeout()    3. Set Flag   1.setTimeout( ) setT

js延时函数setTimeout

实现一个延时执行的效果,现记录如下: <html> <head> <script type="text/javascript" src="/jquery/jquery.js"></script> <script type="text/javascript"> function alertV(){ alert("000"); } setTimeout(alertV,10

JS异步处理 setTimeout / setInterval 比较

一般来说JS异步处理主要有两种:  setTimeout 和 setInterval 如果只需要延时执行一次XXX事件,那么一般采用setTimeout setTimeout(function(){alert("kewen nihao!")}, 2000); 很容易明白就是延时2秒,执行方法体里面的代码. 但是如果需要根据某个条件循环执行,那么就必须使用setInterval了. setTimeout在 for/while循环中,是不会等待延时时间的. 比如我现在这样写: for (v

JS中的setTimeout()函数

1.setTimeout() 方法 setTimeout() 方法用于在指定的毫秒数后调用函数或执行表达式.返回一个 ID(数字),可以将这个ID传递给 clearTimeout() 来取消执行. setTimeout(code, milliseconds, param1, param2, ...) setTimeout(function, milliseconds, param1, param2, ...) //code|function:必需.要调用一个代码串,也可以是一个函数. 第三个及之

node.js连接MySQL操作及注意事项

node.js作为服务端的js运行环境已经出现了有几年了,最近我有个朋友也在做这方面的开发,但是也是刚刚接触,遇到了很多坑.前几天他们在操作数据库的时候出现了点问题,后来我们一起看了看,其实都是node本身机制的一些问题,这里总结一下给新手做借鉴. 我朋友的数据库采用的是MySQL.(至于为什么不用mongoDB,这个是公司上层选型的结果,因为很多新手朋友似乎总是觉的node.js就是应该和mongoDB联系在一起,所以这里简单说下).我后来写了一个简单的小例子,整个小例子使用了express框

JS基础之属性操作注意事项

1.js中注意问题 font-size 改成fontSize padding-top 改成paddingTop 2.js动态添加Class class    改成className 3.oInp.type = 'checkbox';IE6,7,8不支持,可以使用display进行控制 <script>var oInp = document.getElementById('inp1'); oInp.onclick = function (){ oInp.type = 'checkbox'; /*

js 执行完setTimeout再接着执行函数

var counter = 0; function increase(){ var d = jQuery.Deferred(); var doIncrease = function() { if(counter < 10){ counter++; setTimeout(doIncrease, 1000); } else { d.resolve(); } }; doIncrease(); return d.promise(); }; increase().then(function() { ale