找回密码
 注册
搜索
查看: 2705|回复: 4

JSO 1.0开发日志

[复制链接]
发表于 2013-4-27 17:35:10 | 显示全部楼层 |阅读模式
1、修正_a[0].XXX 没被混淆的BUG
  1. var _a = [];
  2. function _o(){
  3.         this.name = "";
  4.         this.old = 0;
  5. }
  6. function _oo(){
  7.         _a[0] = new _o;
  8.         _a[0].name = "c";
  9.         _a[0].old = 0;
  10. }
复制代码
2、修正 参数变量为数组对象时如1的BUG。
 楼主| 发表于 2013-4-28 17:25:24 | 显示全部楼层
由于有时JavaScript编写非常复杂,会造成类成员混淆后错乱,增加了不混淆成员的设置。
  1. /*
  2. NOM:1
  3. */
复制代码
回复

使用道具 举报

 楼主| 发表于 2013-5-1 16:15:12 | 显示全部楼层
修正对
  1. return '{' + arr.join(',') + '}';
复制代码
  1. return /^(string)$/.test(typeof s) ? "'" + s + "'" : s;
复制代码
的压缩失误,造成return与后面的字符间的空格丢失。
回复

使用道具 举报

 楼主| 发表于 2014-11-3 20:37:47 | 显示全部楼层

1.1.0.1

1、修正:实例.成员 处理的问题。
2、修正:数组为类实例时,未处理成员混淆,以及a=b[0]赋值实例成员未混淆的问题。3、去除:var 变量的.成员处理,因为发现这样做存在问题。改为2的方式判断出实例处理。但会存在下述1的问题。
4、本次更新后,一般复杂的JS类成员可以混淆不出错。——制作网页版《捕鱼》逼的。

其他已经发现未解决的问题:
1、作为参数传递的类实例未处理。如:
  1. function XX(){
  2. this.oo;
  3. this.Add=function(oo){
  4. this.oo = oo;
  5. oo.run();//run不会被混淆
  6. }
  7. this.Run=function(){
  8. this.oo.run();//run不会被混淆
  9. }
  10. }
  11. function OO(){
  12. this.run=function(){
  13. }
  14. }
复制代码
2、Obj.prototype = new OO;Obj中继承OO的成员不会被混淆。
以上两个问题,将在以后处理。

回复

使用道具 举报

 楼主| 发表于 2015-9-24 10:32:12 | 显示全部楼层

1.1.0.2

增加混淆时去除console.log()行。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|宁德市腾云网络科技有限公司 ( 闽ICP备2022007940号-5|闽公网安备 35092202000206号 )

GMT+8, 2025-5-4 18:04 , Processed in 0.014414 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表