日期:2014-05-16  浏览次数:20314 次

JSA 压缩JS时的常见问题
1。保留字滥用
如果你的脚本中存在某些保留字或者关键字属性甚至变量名,那么,对不起,您的脚本无法通过解析。
虽然大多数浏览器在这个时候会对你宽大处理,但是JSA不能,比如新浪编辑器里有一个float属性(其实那是错误写法,正确写法应该为styleFloat)

2。严格的正则语法
JSA使用的是Rhino语法解析器,在正则处理时,哪怕在[]号内,依然需要对全部特殊字符转义。否则可能会出错。
比如,如下表达式:

  1. /[/]/.test('/')??

它在大多数浏览器上,都能通过。
但是Rhino解析器,则无法通过。
我粗略过了一下ECMA规范的语法说明,这一点应该算Rhino实现的bug。
?
  1. ClassAtomNoDash?::??
  2. ????SourceCharacter?but?not?one?of\?]?-??
  3. ????\?ClassEscape??
1 楼 memphis 2008-01-02  
用JSA压缩之后,我的脚本运行速度至少下降了6倍,不知道是什么原因?
2 楼 jindw 2008-01-02  
你说的是装载速度还是运行速度?

如果说装载速度,那么,一旦你启用了eval,装在起来一定慢不少。

可以给出压缩前后的文件吗,这样我可以分析一下。