关于setInterval方法中function的定义方法
来源:互联网 发布:屏幕数据记录器 编辑:程序博客网 时间:2024/06/05 06:42
使用window对象的setInterval方法,作为第一个参数传递的function必须在全局作用域中定义,否则会出现报错而无法执行。
具体如下:
在下面的代码中,试用jQuery方式在回调函数中使用window对象的setInterval方法,尝试实现每隔1秒重复执行func1()方法。
浏览器运行后报错:
报错显示调用的func1没有被定义。
原因分析:
大前提:window对象的setInterval要求传递的方法参数必须是全局作用域的
- func1 采用的方法定义格式, function 方法名(){...},这种方法只存在于局部作用域中。即只在回调函数中有效。
- 而func2的定义方法,即方法名 = function(){...},在这种定义方法中,方法名的前面不能加var,否则一样无效。因为加了var之后,相当于将这个方法定义成了回调函数当中的一个局部变量。而没有var修饰的情况,则相当于定义了一个全局变量,所以面向全局作用域有效。
- 而func3的书写格式与func1一样,但由于写在回调函数之外的脚本当中,即面向整个script脚本,所以也就相当于在全局作用域中有效。
window对象存在于全局当中,而非回调函数局部当中。和java传统代码当中,无法在一个方法中引用另一个方法中的局部变量同样道理?
只要在路上,那么就终会成为大牛!
0 0
- 关于setInterval方法中function的定义方法
- Javascript中, setTimeout() 和 setInterval() 的方法
- setInterval的停止方法
- Javascript 两种定义Function的方法
- var和function定义方法的区别
- var和function定义方法的区别
- js function定义函数的方法
- setInterval() 方法
- setInterval() 方法
- setInterval() 方法
- Function对象 , 用来定义方法
- 关于java方法的定义
- JavaScript中setTimeout()方法和setInterval()的区别
- jQuery中使用setTimeout()与setInterval()方法的区别
- Jquery中使用setInterval和setTimeout的方法
- dom编程中window对象的setInterval,setTimeout方法详解
- JS中setTimeout()和setInterval()方法的区别
- 关于在onCreate()方法中定义变量和在方法体外定义变量的区别
- STM32使用J-Link下载出错解决方法。
- [置顶] 通过心理学知识提高问题定位与解决能力(上)
- [置顶] 国内首部Java多线程设计模式原创作品《Java多线程编程实战指南(设计模式篇)》已出版
- Java 常用正则表达式
- 360换机特效
- 关于setInterval方法中function的定义方法
- libcurl 使用说明和网页抓取 linux下的curl编程
- ASP.NET MVC使用Uploadify上传文件
- Android快捷方式(ShortCut)创建以及删除
- BroadcastReceiver和EventBus区别
- children和childNodes 的区别
- PHP-PDO对象使用常用方法
- [git] warning: LF will be replaced by CRLF | fatal: CRLF would be replaced by LF
- mac 零散知识记载