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 相关文章推荐
jQuery 动态酷效果实现总结
Dec 27 Javascript
jQuery 源码分析笔记(3) Deferred机制
Jun 19 Javascript
javascript开发随笔二 动态加载js和文件
Nov 25 Javascript
js中replace的用法总结
Dec 27 Javascript
jQuery DOM插入节点操作指南
Mar 03 Javascript
如何动态加载外部Javascript文件
Dec 02 Javascript
js获取元素的偏移量offset简单方法(必看)
Jul 05 Javascript
node.js自动上传ftp的脚本分享
Jun 16 Javascript
AngularJS自定义表单验证功能实例详解
Aug 24 Javascript
vue多级复杂列表展开/折叠及全选/分组全选实现
Nov 05 Javascript
vue下拉菜单组件(含搜索)的实现代码
Nov 25 Javascript
vue-cli 3.x配置跨域代理的实现方法
Apr 12 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
php高级编程-函数-郑阿奇
2011/07/04 PHP
关于JSON以及JSON在PHP中的应用技巧
2013/11/27 PHP
PHP小教程之实现链表
2014/06/09 PHP
推荐一款MAC OS X 下php集成开发环境mamp
2014/11/08 PHP
Laravel4中的Validator验证扩展用法详解
2016/07/26 PHP
php使用curl实现ftp文件下载功能
2017/05/16 PHP
关于js日期转化为毫秒数“节省20%的效率和和节省9个字符“问题
2012/03/01 Javascript
JavaScript回调(callback)函数概念自我理解及示例
2013/07/04 Javascript
JavaScript中Number.MIN_VALUE属性的使用示例
2015/06/04 Javascript
javascript jquery对form元素的常见操作详解
2016/06/12 Javascript
同步文本框内容JS代码实现
2016/08/04 Javascript
解析Vue2.0双向绑定实现原理
2017/02/23 Javascript
jQuery 实现图片的依次加载图片功能
2017/07/06 jQuery
Vue 滚动行为的具体使用方法
2017/09/13 Javascript
js实现数组和对象的深浅拷贝
2017/09/30 Javascript
关于RxJS Subject的学习笔记
2018/12/05 Javascript
webstorm建立vue-cli脚手架的傻瓜式教程
2020/09/22 Javascript
Python中的异常处理简明介绍
2015/04/13 Python
在Python中使用next()方法操作文件的教程
2015/05/24 Python
常见python正则用法的简单实例
2016/06/21 Python
Python安装图文教程 Pycharm安装教程
2018/03/27 Python
python实现电子产品商店
2019/02/26 Python
浅谈Python编程中3个常用的数据结构和算法
2019/04/30 Python
pytorch使用 to 进行类型转换方式
2020/01/08 Python
Python装饰器实现方法及应用场景详解
2020/03/26 Python
利用CSS3的3D效果制作正方体
2020/03/10 HTML / CSS
Surfdome西班牙:世界上最受欢迎的生活方式品牌
2019/02/13 全球购物
Beach Bunny Swimwear官网:设计师泳装和性感比基尼
2019/03/13 全球购物
法律系毕业生自荐信范文
2014/03/27 职场文书
机械设计及其自动化专业求职信
2014/06/09 职场文书
2015年班级元旦晚会活动总结
2014/11/28 职场文书
干部个人考察材料
2014/12/24 职场文书
2015社区个人工作总结范文
2015/05/13 职场文书
大学生受助感言
2015/08/01 职场文书
SpringBoot整合JWT的入门指南
2021/06/29 Java/Android
vscode远程免密登入Linux服务器的配置方法
2022/06/28 Servers