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 相关文章推荐
JavaScript OOP面向对象介绍
Dec 02 Javascript
重载toString实现JS HashMap分析
Mar 13 Javascript
Underscore.js 的模板功能介绍与应用
Dec 24 Javascript
js调用AJAX时Get和post的乱码解决方法
Jun 04 Javascript
javascript判断非数字的简单例子
Jul 18 Javascript
javascript的内存管理详解
Aug 07 Javascript
基于BootStrap Metronic开发框架经验小结【四】Bootstrap图标的提取和利用
May 12 Javascript
jquery动态遍历Json对象的属性和值的方法
Jul 27 Javascript
vue父组件向子组件动态传值的两种方法
Nov 11 Javascript
Django+Vue跨域环境配置详解
Jul 06 Javascript
原生js实现密码强度验证功能
Mar 18 Javascript
JS前端基于canvas给图片添加水印
Nov 11 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
《斗罗大陆》六翼天使武魂最强,为什么老千家不是上三宗?
2020/03/02 国漫
Terran兵种介绍
2020/03/14 星际争霸
对Session和Cookie的区分与解释
2007/03/16 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
Javascript 获取链接(url)参数的方法[正则与截取字符串]
2010/02/09 Javascript
jquery中对表单的基本操作代码
2010/07/29 Javascript
Extjs4 Treegrid 使用心得分享(经验篇)
2013/07/01 Javascript
jquery 通过name快速取值示例
2014/01/24 Javascript
一个字符串反转函数可实现字符串倒序
2014/09/15 Javascript
使用javascript实现监控视频播放并打印日志
2015/01/05 Javascript
JavaScript设置body高度为浏览器高度的方法
2015/02/09 Javascript
JavaScript焦点事件、鼠标事件和滚轮事件使用详解
2016/01/15 Javascript
js实现点击每个li节点,都弹出其文本值及修改
2016/12/15 Javascript
bootstrap栅格系统示例代码分享
2017/05/22 Javascript
JavaScript中字符串的常用操作方法及特殊字符
2018/03/18 Javascript
JavaScript HTML DOM元素 节点操作汇总
2019/07/29 Javascript
Vue项目页面跳转时浏览器窗口上方显示进度条功能
2020/03/26 Javascript
PyQt5实现下载进度条效果
2018/04/19 Python
Python错误处理操作示例
2018/07/18 Python
python+openCV利用摄像头实现人员活动检测
2019/06/22 Python
python requests使用socks5的例子
2019/07/25 Python
Python标准库json模块和pickle模块使用详解
2020/03/10 Python
python怎么提高计算速度
2020/06/11 Python
Pyinstaller打包Scrapy项目的实现步骤
2020/09/22 Python
css sprite简单实例
2016/05/23 HTML / CSS
J2SDK1.5与J2SDK5.0有什么区别
2012/09/19 面试题
优秀团员个人的自我评价
2013/10/02 职场文书
公司应聘自荐书
2014/06/14 职场文书
教师竞聘上岗演讲稿
2014/09/03 职场文书
党员干部批评与自我批评反四风思想汇报
2014/09/21 职场文书
简历中的自我评价应该这样写!
2019/07/12 职场文书
导游词之湖北梁子湖
2019/11/07 职场文书
使用pytorch实现线性回归
2021/04/11 Python
CSS 一行代码实现头像与国旗的融合
2021/10/24 HTML / CSS
DE1103使用报告
2022/04/05 无线电
关于Redis的主从复制及哨兵问题
2022/06/16 Redis