jQuery中setTimeout的几种使用方法小结


Posted in Javascript onApril 07, 2013

我们通过例子来说明一下jQuery中setTimeout的几种使用方法, 首先准备好测试用的DIV和公共函数:

<div id="div_debug"></div>
 <script src="http://www.studyday.net/demo/jquery.js"></script> 
 <script language="JavaScript"> 
 functionlog(s){ 
     $('#div_debug').append(s+'<br>'); 
 }  //下文中测试用的代码可以放在这一行注释的下面,替换掉 //... 
 //... 
 </script>

原生态 javascript 中的 setTimeout 基本用法是像这样子的.
 //原生态 javascript 中的 setTimeout 基本用法 
 functionfunA(){ 
     log('funA...'); 
     setTimeout('funA()', 1000); 
 } 
 funA();

下面是jQuery中setTimeout的几种使用方法. 在线实例

 //jQuery 中的用法 
 functionfunA(){ 
     log('funA...'); 
     setTimeout('funA()', 1000); 
 }  jQuery(document).ready(function($){ 
     //用法1 : 把要调用的函数写在ready外面,使它成为全局函数 
     funA(); 
     //用法2 : 直接写函数名,不能带括号也不能带引号,适合没有参数的函数 
     functionfunB(){ 
         log('funB...'); 
         setTimeout(funB, 1000); 
     } 
     funB(); 
     //用法3 : 通过调用匿名函数来执行,适合有带参数的函数 
     functionfunC(v){ 
         log('funC...'+v); 
         setTimeout(function(){funC(v+1)}, 1000); 
     } 
     funC(1); 
     //用法4 : 通过在jQuery命名空间上增加函数,适用面更广 
     $.extend({ 
         funD:function(v){ 
             log('funD...'+v); 
             setTimeout("$.funD("+(v+1)+")",1000); 
         } 
     }); 
     $.funD(100); 
 });

用法2和用法3的区别很明显, 但用法3和用法4的区别在哪里呢?为什么说用法4比用法3适用面更广呢?通过下面这个例子可以很直观的明白二者的区别:

 jQuery(document).ready(function($){ 
     //用法3 : 通过调用匿名函数来执行,适合有带参数的函数 
     functionfunC(v){ 
         log('funC...'+v); 
         setTimeout(function(){funC(v+1)}, 1000); 
     }      //用法4 : 通过在jQuery命名空间上增加函数,调用起来更方便 
     $.extend({ 
         funD:function(v){ 
             log('funD...'+v); 
             setTimeout("$.funD("+(v+1)+")",1000); 
         } 
     }); 
 }); 
 jQuery(document).ready(function($){ 
     //funC(1);   //去掉注释后执行这一句时会报错 
     $.funD(100); //这一句是正常的, 明白两者之间的区别了吧 
 });

Javascript 相关文章推荐
一个多次搜索+多次传值的解决方案
Jan 20 Javascript
关于恒等于(===)和非恒等于(!==)
Aug 20 Javascript
javascript下function声明一些小结
Dec 28 Javascript
jquery中常用的SET和GET
Jan 13 Javascript
javascript 事件处理、鼠标拖动效果实现方法详解
May 11 Javascript
javascript实现在线客服效果
Jul 15 Javascript
浏览器复制插件zeroclipboard使用指南
Mar 26 Javascript
详解Vue中添加过渡效果
Mar 20 Javascript
移动端手指放大缩小插件与js源码
May 22 Javascript
SelectPage v2.4 发布新增纯下拉列表和关闭分页功能
Sep 07 Javascript
使用vue制作滑动标签
Sep 21 Javascript
JS document对象简单用法完整示例
Jan 14 Javascript
jQuery setTimeout()函数使用方法
Apr 07 #Javascript
jquery全选/全不选/反选另一种实现方法(配合原生js)
Apr 07 #Javascript
关于jQuery参考实例 1.0 jQuery的哲学
Apr 07 #Javascript
jQuery操作checkbox选择(list/table)
Apr 07 #Javascript
关于jQuery参考实例2.0 用jQuery选择元素
Apr 07 #Javascript
js将long日期格式转换为标准日期格式实现思路
Apr 07 #Javascript
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
Apr 07 #Javascript
You might like
mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
2007/01/15 PHP
php缓冲输出实例分析
2015/01/05 PHP
PHP中让json_encode不自动转义斜杠“/”的方法
2017/02/28 PHP
Code:findPosX 和 findPosY
2006/12/20 Javascript
jQuery插件的写法分享
2013/06/12 Javascript
JavaScript基础篇(3)之Object、Function等引用类型
2015/11/30 Javascript
javascript实现九宫格相加数值相等
2020/05/28 Javascript
jQuery常用的一些技巧汇总
2016/03/26 Javascript
require.js配合插件text.js实现最简单的单页应用程序
2016/07/12 Javascript
Vue组件之全局组件与局部组件的使用详解
2017/10/09 Javascript
微信小程序 页面滑动事件的实例详解
2017/10/12 Javascript
使用store来优化React组件的方法
2017/10/23 Javascript
[01:01:22]VGJ.S vs OG 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
Python中使用partial改变方法默认参数实例
2015/04/28 Python
Python中字典的基础知识归纳小结
2015/08/19 Python
Python多图片合并PDF的方法
2019/01/03 Python
python networkx 根据图的权重画图实现
2019/07/10 Python
在pycharm下设置自己的个性模版方法
2019/07/15 Python
Python企业编码生成系统之系统主要函数设计详解
2019/07/26 Python
基于python实现可视化生成二维码工具
2020/07/08 Python
Python利用Faiss库实现ANN近邻搜索的方法详解
2020/08/03 Python
python re.match()用法相关示例
2021/01/27 Python
Tripadvisor新西兰:阅读评论,比较价格和酒店预订
2018/02/10 全球购物
英国乡村时尚和宠物用品专家:Pet & Country
2018/07/02 全球购物
Liu Jo西班牙官网:意大利服装品牌
2019/09/11 全球购物
EM Cosmetics官网:由彩妆大神Michelle Phan创办的独立品牌
2020/04/27 全球购物
俄罗斯三星品牌商店:Samsungstore
2020/04/05 全球购物
家长会邀请书
2014/01/25 职场文书
大家访活动实施方案
2014/03/10 职场文书
护理专科毕业自荐信范文
2014/04/21 职场文书
电话客服专员岗位职责
2014/06/28 职场文书
先进个人事迹材料
2014/12/29 职场文书
2015年五一劳动节活动总结
2015/02/09 职场文书
导游词之湖州-太湖
2019/10/11 职场文书
优秀范文:《但愿人长久》教学反思3篇
2019/10/24 职场文书
vue中this.$http.post()跨域和请求参数丢失的解决
2022/04/08 Vue.js