Google Map 中混淆和压缩代码的简单示例

首先我们要有以下几个函数:
function z(a,b){
    window[a]
=b;
}
function ha(a,b,c){
    a[b]
=c;
}
function p(a,b,c)
{
    a.prototype[b] 
= c;  
}


现在我要定义一个实体类,通常的代码是这样:
function Info(name, image)
{
    
this._name = name;
    
this._image = image;
}
//属性
Info.prototype.GetName = function(){ return this._name; }
Info.prototype.GetImage 
= function(){ return this._image; }

经混淆变成这样
var a;//定义一个变量来代替某个对象的prototype
function i(a,b){this.aa=a;this.bb=b;}]
i.prototype.ab
= function(){ return this.aa; }
i.prototype.ac
= function(){ return this.bb; }
a
=i.prototype;//给a赋值
//
下面用函数p把i的属性替换成有意义的名称
p(i,"GetName",a.ab);p(i,"GetImage",a.ac);
//下面用函数z为window对象添加该实体对象
z("Info",i)



posted @ 2007-02-28 08:53  八不戒  阅读(383)  评论(0编辑  收藏  举报