关于setTimeout/setInterval的第三个参数
setTimeout/setInterval,这两个函数相信前端开发同学都很熟悉。
它们在非IE(6-9)浏览器中还可以如下使用
setTimeout(function(obj){
alert(obj.a);
}, 2000, {a:1});
用法:
var arr = [1,9,2,8,3,7,4,6,4,5];
for(var i = 0, len = arr.length; i < len; i++){
setTimeout(function(x){
console.log(x);
},arr[i],arr[i]);
}
你可以传多个参数给回调函数,如下
setTimeout(function(a, b){
alert(a);
alert(b);
}, 2000, 1,2);
如果有第三个参数,某些情况下的调用就可以方便的处理回调函数中当前对象的问题,写起来好看点。
扩展一下Function,增加一个延时调用(参考而已):
Function.prototype.delay = function(){
var args = Array.prototype.slice.call(arguments,0);
setTimeout(function(fn){
fn.apply('',args.slice(1));
},args[0],this);
}
var fn = function(x){
alert(x)
};
fn.delay(1000,'xesam');
关于回调模拟进度条的例子:
代码预览
php获取服务器端mac和客户端mac的地址 SQL Server数据库中批量替换数据的方法
Your point of view caught my eye and was very interesting. Thanks. I have a question for you. https://accounts.binance.com/pl/register-person?ref=UM6SMJM3