setTimeout()中参数作用域的问题?? setTimeout其实是一个递归调用 我认为是你调用moveElement方法的时候就没有给其参数赋值吧以后递归调用还是没有这个参数的值 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这是个作用域的问题,setTimeout函数是window的函数,他的作用域是全局,而moveElement函数的作用域链是 全局 -> moveElement你的element是在moveElement函数里面定义的,全局的setTimeout函数当然是找不到的,改成下面这样就没有问题了:setTimeout(function(){ moveElement(element); },interval);具体关于作用域的问题,你可以看看下面的文章http://blog.csdn.net/hzrui/archive/2009/02/27/3941137.aspx 我用的element不是函数体中的那个,而是函数的参数id换成真正的元素。。回到这个函数,那为什么用字符串id传递就不会超出作用域啊?? 字符串作为参数传递哪有作用域啊,变量才有作用域moveElement("11", ""....你说上面的"11"会有作用域问题吗 function moveElement(id,final_x,final_y,interval)参数id就是个变量啊!它有作用域吧 "moveElement('"+id+"',"+final_x+","+final_y+","+interval+")"最终的结果是一个字符串啊,假如ID是: 11, finnl_x 是 22, final_y 是33 interval是44,事实上最后调用的是这样moveElement("11","22","33","44")而不是moveElement(id,final_x,final_y,interval) 真的要使用id这个变量的话,是这么写的setTimeout("moveElement(id+,final_x,final_y,interval)",interval); cookie存储下拉菜单,下次打开下拉菜单显示上次的值 请问这是浮点数吗? JS新手问题;哪出错了?运行没反应 table問題~~~(100分) 如何用js画图表,如bar chart 用javascript如何实现监视正在提交的网页url 急,在线等! 关于浮点数的小数位取舍问题,多多益善!!! 最后只剩下10分了!帮帮忙,js读取xml文件的问题 打印兄弟框架的内容(同在一个父框架集中) 我要返回,怎么办 一个使用javascript调用activex函数的问题。 上海,寻JS高手
而moveElement函数的作用域链是 全局 -> moveElement
你的element是在moveElement函数里面定义的,全局的setTimeout函数当然是找不到的,
改成下面这样就没有问题了:
setTimeout(function(){
moveElement(element);
},interval);具体关于作用域的问题,你可以看看下面的文章
http://blog.csdn.net/hzrui/archive/2009/02/27/3941137.aspx
你说上面的"11"会有作用域问题吗
参数id就是个变量啊!它有作用域吧
最终的结果是一个字符串啊,假如ID是: 11, finnl_x 是 22, final_y 是33 interval是44,事实上最后调用的是这样moveElement("11","22","33","44")而不是
moveElement(id,final_x,final_y,interval) 真的要使用id这个变量的话,是这么写的setTimeout("moveElement(id+,final_x,final_y,interval)",interval);