js的一点小问题

刚才写一个js的demo,遇见了一个小问题
请输入图片描述

运行这个函数,得到结果time_,number_,max_未定义...这难道还是闭包问题么...
小弟 js初学者...求指教

阅读 3.3k
3 个回答
setTimeout(function(){
    hovertime(time, number, max)
},time);

根据javascript权威指南描述,当setTimeout的第一个参数为字符串的时候,那么这个字符串会在指定的时间后进行求值,相当于执行eval()。
直接在字符串里面调方法应该是指向全局了。全局里理所当然没有定义你的参数。

如果这样写就行了:

setTimeout(function(){
    hovertime(time_,number_,max_);
},time);

谢谢@王子亭的批评,促使我猛查了一番资料

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题