刚开始学Javascript看到好多脚本中通过ajax将远程的js代码请求过来,通过eval执行请求过来的脚本,不太理解为什么要这样设计?我想到的目的是
1.隐藏代码 
2.通过ajax的get方法来缓存请求的js
3.忘了哪里看到的,可以解决代码接口冲突,不是很明白,求解~求达人解答,谢谢!

解决方案 »

  1.   

    eval(js_expression);其实就是动态建立js_expression表达式,然后执行之,js_expression可以通过AJAX获得,这样的优点是即灵活又可以隐藏代码,
      

  2.   

    我认为js 还是用script 标签在body 之后 导入js 最好!动态获取js,最大的好处是,可以感觉不同的参数(或者访问者的IP,访问的url)
    返回不同的js 逻辑代码!比如:一些统计js代码(cnzz 51.la)
          在线客服系统: 53KF TQ  
      

  3.   

    eval 函数传递一个字符串给JavaScript编译器,并且执行其结果。它是一个被滥用得最多的JavaScript特性。那些对javascript 语言一知半解的人们最常用到它。例如:如果你知道点表示法,但不知道 下标表示法,就可能这么写:eval("myValue=myObject."+myKey+";");而不是这么写myValue=myObject[myKey];使用eval形式的代码会更加难以阅读,提高维护成本。这种形式将使得性能显著降低,因为它须运行编译,但也许只为了执行一个微不足首的赋值语句。它也会让JSLint失效……eval函数还减弱了你的应用安全性,因为它给被求值的文本授于了太多的权力。
      

  4.   

    eval()是将字符串转换成可执行语句,直接执行此字符串.
      

  5.   

    ————————<<javascript 语言精粹>>
      

  6.   

    myValue=myObject.myKey;
    直接好象就可以吧,干吗要用EVAL了.myValue=myObject[myKey];
    叫什么对象还是类索引器还是什么
      

  7.   

    eval就是执行字符串代码:
    1、可以实现动态传递参数;
    2、可以实现从后台获取执行逻辑;
    3、可以很方便的转换js对象,将符合条件的字符串转换成json对象;
      

  8.   

    很方便的转换js对象,将符合条件的字符串转换成json对象,还没用到,学习了!