JS中的eval和document.getElementById

eval和document.getElementById都能把字符串转化为对应的对象或是数值,但两者之间还是有区别的,请看以下几个例子:
假如页面上存在ID为aaa的标记,以下a和b得到的是一样的结果


var a=eval('aaa');
    var b=document.getElementById('aaa');
    var a=eval('aaa');
    var b=document.getElementById('aaa');
如果页面上不存在aaa标记,则eval将发生错误,document.getElementById返回null值

另一种情况就是字符串为表达式时


alert(eval('1 1')); //返回2
    alert(document.getElementById('1 1')); //返回null因为getElementById会把'1 1'看作
    //标记ID进行查找
    alert(eval('aaa.href')); //将返回aaa的href属性
    alert(document.getElementById('aaa.href')); //和上面一样会返回null

 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 您可能对 [javascript] 的这些文章也感兴趣:

简易而又灵活的Javascript拖拽框架(三)
Javascript实例教程(19) 使用HoTMetal(2)
JavaScript 实现 Table 的排序
用Javascript轻松制作一套简单的抽奖系统
用javascript 转换外部链接样式
John Resig谈TraceMonkey和基于JavaScript的RIA未来
Javascript 的 Class
arp病毒利用的Javascript技术
在线编辑器集锦
js的语句及语法