请问这段代码什么意思?

kookies 2003-06-20 03:39:50
<script language="JavaScript">
<!--
function MM_goToURL() { //v3.0
var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
//-->
</script>
请问这段代码什么意思?尤其
for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
是什么意思?
...全文
67 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Brradish 2003-06-20
  • 打赏
  • 举报
回复
eval~就是动态生成代码的函数.
比如 a='windows';你想执行 windows.open,写a+'.open'肯定是不行的~~只能得到一个'windos.open'的字符串~~~~这时候就需要eval了~~ eval(a+'.open');就是你想要的结果 :)

我javascript不熟~~上边的代码可能很多错误~~不过大致是这个意思了 :)

至于那段代码意思也很明白就是改变几个窗口的内容,参数用的是'窗口1,内容1,窗口2,内容2....'这样的
kookies 2003-06-20
  • 打赏
  • 举报
回复
eval是干什么用的?书上解释“eval函数允许JScript源代码的动态执行”太晦涩了。
为什么此处 eval(args[i]+".location='"+args[i+1]+"'"); 要“动态执行”?
直接写成 args[i]+".location='"+args[i+1]+"'";
不行么?
PowerHorse 2003-06-20
  • 打赏
  • 举报
回复
补充: args[i]+".location='"+args[i+1]+"'" 生成打开 URL 的命令字符串, 然后用 eval 执行。
PowerHorse 2003-06-20
  • 打赏
  • 举报
回复
前面已经用 args=MM_goToURL.arguments 取得函数参数的个数
这里实对参数进行循环,每两个参数为一组。

不要给我分,给别人吧。

87,907

社区成员

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

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