朱焕青 发表于 2013-1-29 08:33:31

JavaScript eval

美工要帮它完成一个菜单点击后加号图片变减号图片的效果,发过来一个页面里面是他找的不能运行的代码。里面有一串js代码:
    lbmc = eval('LM' + i);
    if (lbmc.style.display == 'none') {
      LMYC();
      lbmc.style.display = '';//看这里lbmc 直接可以当做dom对象使用了
    }
    else {
      
      lbmc.style.display = 'none';
    }
   
    看lbmc = eval('LM' + i); lbmc是一个dom对象了,刚看到这个有点奇怪吧,其实eval是有document.getElementById()的功能的。不单可以用来执行js语句:eval('2+3');//返回5
    这也是eval跟document.getElementById()的区别:document.getElementById('2+3')会把'2+3'当做一个Id值去查找Dom对象;
另外eval还可以返回属性值:eval('aId.href');//返回超链接对象的href属性值
    eval也用做js代码的压缩混淆
页: [1]
查看完整版本: JavaScript eval