博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
定时器setTimeout()的传参方法
阅读量:5052 次
发布时间:2019-06-12

本文共 1094 字,大约阅读时间需要 3 分钟。

更具体的代码:http://www.cnblogs.com/3body/p/5416830.html

// 由于setTimeout()的延迟执行特性,所以在执行的函数中直接使用外部函数的变量是无法获取到的,因为当执行的时候变量已经销毁了。所以,这里就使用了一个闭包的方法来达到能调用外部函数的目的。// 通常的setTimeout(function(){...},100)是这样写的,也就是第一个参数是个函数,里面是要执行的代码片段。// 这里就使用了闭包的方法return function(){...},第一个参数则接收到了一个函数,并往闭包中传入参数,这样就能先将变量赋给闭包的形参,里面的函数调用的就是闭包的形参,外部函数的销毁便不会影响到函数的执行了addUl=setTimeout(function(a,id,width){    return function(){        $.post(        '<{:U("Index/type")}>',        {'id':id},        function(data){            if (data) {                var ul='
    ';                var id;                var href;                $.each(data,function(n,v){                    id=v['type_id'];                    // 不能使用array()传参,并且还要加上Home                    href='<{:U("Home/Pro/more/type/'+id+'")}>';                    ul+='
  • '+v['type_name']+'
  • ';                });                ul+='
';                a.after(ul);            };        }        );    }}(a,id,width),200);// 第二种传参方法:第二个参数之后的参数就是传的参数setTimeout(function(num){ alert(num); //弹出123},1000,123);

转载于:https://www.cnblogs.com/3body/p/5416834.html

你可能感兴趣的文章
javaweb常识
查看>>
Java注解
查看>>
web自己主动保存表单
查看>>
一个小的日常实践——高速Fibonacci数算法
查看>>
机器学些技法(9)--Decision Tree
查看>>
drf权限组件
查看>>
输入月份和日期,得出是今年第几天
查看>>
Qt中子窗口全屏显示与退出全屏
查看>>
使用brew安装软件
查看>>
[BZOJ1083] [SCOI2005] 繁忙的都市 (kruskal)
查看>>
吴裕雄 python 机器学习——数据预处理嵌入式特征选择
查看>>
Centos6.4安装JDK
查看>>
201521123069 《Java程序设计》 第4周学习总结
查看>>
线性表的顺序存储——线性表的本质和操作
查看>>
【linux】重置fedora root密码
查看>>
pig自定义UDF
查看>>
输入名字显示其生日,没有则让输入生日,做记录
查看>>
Kubernetes 运维学习笔记
查看>>
并查集 经典 畅通工程
查看>>
Spark MLlib 之 Naive Bayes
查看>>