<script type="text/javascript">var obj=(name:"jim",age:20);
//var obj=eval(name:"jim",age:20);
alert(obj.name);
eval(alert("ok"));</script>

解决方案 »

  1.   

    对象用 {}<script type="text/javascript"> var obj={name:"jim",age:20};
    //var obj=eval(name:"jim",age:20); 
    alert(obj.name); </script>
      

  2.   

    eval可以将字符串生成语句执行,和SQL的exec()类似。  
    eval的使用场合是什么呢?有时候我们预先不知道要执行什么语句,只有当条件和参数给时才知道执行什么语句,这时候eval就派上用场了。举个例子:  
    我们要做一个function(),功能是输入网页中两个个对象的名称,然后程序就将这两个对象的值联接起来输出。
    function output(a,b)  
    {  
    var tmpa,tmpb;  
    tmpa=document.all.a.value;  
    tmpb=document.all.b.value;  
    document.write(tmpa+tmpb);  
    }  
    output('input1','input2');  
    这样你执行的时候就会提示错误“document.all.a不是对象”以及“document.all.b不是对象”。原来javascript把a和b当成对象名称了,怎样能让javascript把a里面的值作为对象名称呢?这时候就要用eval了,把代码改成这样: 
    function output(a,b)  
    {  
    var tmpa,tmpb;  
    tmpa=eval("document.all."+a+".value");  
    tmpb=eval("document.all."+b+".value");  
    document.write(tmpa+tmpb);  
    }  
    output('input1','input2');  
    这样javascript就会先取出a,b的值,然后和前面的document.all.以及后面的.value组合运行,于是就可以  
    顺利取出input1和input2的值. 0 0 0 
    (请您对文章做出评价)
      

  3.   

    <script type="text/javascript"> var obj=(name:"jim",age:20); 
    //var obj=eval(name:"jim",age:20); 
    alert(obj.name); 
    eval('alert('ok')'); </script>
      

  4.   

    var obj={name:"jim",age:20};