mesky517 发表于 2008-4-18 15:59

eval函数

1,alert(eval("var a"+i+"="+i));有什么语法错误吗?弹出对话框为 undefined
2,           for(var i=0;i<document.objnames[j].length;i++)
           {
                   owin.document.write("<td>"+document.objnames[j][i].name+"</td>");
                }
可以实现动态效果吗

渚薰 发表于 2008-4-21 13:51

当然是undefined,你只是执行了一条定义变量的语句而已
eval语句,可以理解成
function anonymous() {
    //todo sth
}
anonymous()

也就是
(function() {
  //todo sth
}).call(window);

另外针对你第一个问题,你就不会用数组嘛~~~a[i]=i;
另外,既是不能用数组,如果你的'a'+i是全局变量,也可以window['a'+i]=i
如果是局部变量,就声明一个临时的obj,然后同样obj['a'+i]=i;

var obj={};
obj['a'+i]=i;

第二问题,请学习DOM的知识
document.write的操作方法是不规范的,且容易出错

[[it] 本帖最后由 渚薰 于 2008-4-21 13:53 编辑 [/it]]

页: [1]

编程论坛