为了将所有模块组合到一个资源中,我们将每个模块写入一个单独的脚本标记,并将代码隐藏在注释块(/**/)中.当资源首次加载时,由于它被注释掉,因此不会解析任何代码.要加载模块,找到相应脚本标记的DOM元素,去掉注释块,并使用eval()代码....
在iPhone 2.2设备上,在一个块注释中保存的200k的JavaScript在页面加载期间增加了240ms,而在页面加载期间解析的200k的JavaScript增加了2600ms.通过在页面加载期间消除200,000个不需要的JavaScript,这比启动延迟减少了10倍!
http://googlecode.blogspot.co.uk/2009/09/gmail-for-mobile-html5-series-reducing.html https://developers.google.com/speed/docs/best-practices/mobile
这篇gmail文章已有三年多的历史了,从那时起,移动性能就有了很大的优势,比如iOS的Nitro和JIT等移动版.使用eval还可以获得性能提升吗?