timerID = window.setInterval('scrollLeft()',timer); //这样使用是正确的
timerID = window.setInterval('scrollLeft(obj)',timer); //除非obj是全局变量,否则这样使用是错误的
在window.setInterval后面所跟的函数scrollLeft()里面的参数param必须是全局变量才可以,如果既想传递参数,又不想设定全局变量,解决这个问题的办法可以使用匿名函数包装的方式:
timerID = window.setInterval(function(){
scrollLeft(obj);
},timer);
function scrollLeft(obj) {
// some other things
}
这样一来,就可以不再依赖于全局变量向scrollLeft函数中传递参数,毕竟当页面中的全局变量多了以后,会给脚本的开发、调试和管理等带来极大的困惑,代码也比较ugly.
timerID = window.setInterval('scrollLeft(obj)',timer); //除非obj是全局变量,否则这样使用是错误的
在window.setInterval后面所跟的函数scrollLeft()里面的参数param必须是全局变量才可以,如果既想传递参数,又不想设定全局变量,解决这个问题的办法可以使用匿名函数包装的方式:
timerID = window.setInterval(function(){
scrollLeft(obj);
},timer);
function scrollLeft(obj) {
// some other things
}
这样一来,就可以不再依赖于全局变量向scrollLeft函数中传递参数,毕竟当页面中的全局变量多了以后,会给脚本的开发、调试和管理等带来极大的困惑,代码也比较ugly.