为什么不能在事件里定义函数

xlz964218798 2014-11-14 11:47:31
第二个不管用
...全文
328 14 打赏 收藏 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
xlz964218798 2014-12-10
  • 打赏
  • 举报
回复
引用 13 楼 ZHOUYABIN 的回复:
引用 11 楼 xlz964218798 的回复:
[quote=引用 10 楼 ZHOUYABIN 的回复:] 把setTimeout('a()', 1000); 改成 setTimeout(function(){a();},1000);
短的话这样打好弄,长的话以后维护起来看代码太费劲了吧
还好吧可能是同一行会让你觉得看起来麻烦 setTimeout(function(){ a(c,d,e); b(); },1000); 就算a函数如果有参数也不会有问题的[/quote] 那这2个呢 第一个也是放里面为什么就能执行,第二个就不行?

$(function(){
		a()
		function a(){
		setTimeout("alert()",1000)
		}
	})
	
	$(function(){
		setTimeout("a()",1000)
		function a(){
		alert()
		}
	})
ZHOUYABIN 2014-11-15
  • 打赏
  • 举报
回复
引用 11 楼 xlz964218798 的回复:
引用 10 楼 ZHOUYABIN 的回复:
把setTimeout('a()', 1000); 改成 setTimeout(function(){a();},1000);
短的话这样打好弄,长的话以后维护起来看代码太费劲了吧
还好吧可能是同一行会让你觉得看起来麻烦 setTimeout(function(){ a(c,d,e); b(); },1000); 就算a函数如果有参数也不会有问题的
xuzuning 2014-11-14
  • 打赏
  • 举报
回复
主贴的图是正确的!
$(function() {
  $('#div1').append('1');
  setTimeout('a()', 1000);
})
function a() {
  $('#div1').append('2');
}
slwsss 2014-11-14
  • 打赏
  • 举报
回复
setTimeout("a()",1000) 这里的a是全局的 第一张图定义的a是局部的当然获取不到 window.a=function(){}//这样定义就没问题 http://blog.csdn.net/sunlylorn/article/details/6534610
xlz964218798 2014-11-14
  • 打赏
  • 举报
回复
传错图了。。
xlz964218798 2014-11-14
  • 打赏
  • 举报
回复
这个可以
  • 打赏
  • 举报
回复
引用 11 楼 xlz964218798 的回复:
引用 10 楼 ZHOUYABIN 的回复:
把setTimeout('a()', 1000); 改成 setTimeout(function(){a();},1000);
短的话这样打好弄,长的话以后维护起来看代码太费劲了吧
如果没有参数可以直接setTimeout(a,1000); 有参数就要搞个匿名函数才行,否则就要写成setTimeout("a(1,2,3)",1000)并且你的a要是window作用域下的,否则找不到函数
xlz964218798 2014-11-14
  • 打赏
  • 举报
回复
引用 10 楼 ZHOUYABIN 的回复:
把setTimeout('a()', 1000); 改成 setTimeout(function(){a();},1000);
短的话这样打好弄,长的话以后维护起来看代码太费劲了吧
ZHOUYABIN 2014-11-14
  • 打赏
  • 举报
回复
把setTimeout('a()', 1000); 改成 setTimeout(function(){a();},1000);
slwsss 2014-11-14
  • 打赏
  • 举报
回复
引用 8 楼 xlz964218798 的回复:
为什么在事件里定义就是局部的了?
js作用域
xlz964218798 2014-11-14
  • 打赏
  • 举报
回复
引用 6 楼 slwsss 的回复:
[quote=引用 5 楼 xlz964218798 的回复:] [quote=引用 3 楼 slwsss 的回复:] setTimeout("a()",1000) 这里的a是全局的 第一张图定义的a是局部的当然获取不到 window.a=function(){}//这样定义就没问题 http://blog.csdn.net/sunlylorn/article/details/6534610
有点晕?第一张图?1楼的?1楼的不是正确的吗[/quote] 看错了是2楼的第二张[/quote] 为什么在事件里定义就是局部的了?
xlz964218798 2014-11-14
  • 打赏
  • 举报
回复
引用 6 楼 slwsss 的回复:
[quote=引用 5 楼 xlz964218798 的回复:] [quote=引用 3 楼 slwsss 的回复:] setTimeout("a()",1000) 这里的a是全局的 第一张图定义的a是局部的当然获取不到 window.a=function(){}//这样定义就没问题 http://blog.csdn.net/sunlylorn/article/details/6534610
有点晕?第一张图?1楼的?1楼的不是正确的吗[/quote] 看错了是2楼的第二张[/quote]为什么在事件里定义就是局部的了?
slwsss 2014-11-14
  • 打赏
  • 举报
回复
引用 5 楼 xlz964218798 的回复:
[quote=引用 3 楼 slwsss 的回复:] setTimeout("a()",1000) 这里的a是全局的 第一张图定义的a是局部的当然获取不到 window.a=function(){}//这样定义就没问题 http://blog.csdn.net/sunlylorn/article/details/6534610
有点晕?第一张图?1楼的?1楼的不是正确的吗[/quote] 看错了是2楼的第二张
xlz964218798 2014-11-14
  • 打赏
  • 举报
回复
引用 3 楼 slwsss 的回复:
setTimeout("a()",1000) 这里的a是全局的 第一张图定义的a是局部的当然获取不到 window.a=function(){}//这样定义就没问题 http://blog.csdn.net/sunlylorn/article/details/6534610
有点晕?第一张图?1楼的?1楼的不是正确的吗

87,984

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧