MyCompany.UI 是一个对象,也就是我们经常叫的 命名空间或是模块在MyCompany.UI对象里面加个属性: UpdatePropertyAction,类型是函数MyCompany.UI.UpdatePropertyAction.prototype={
    initialize:function(mapControl){
    }}
上面是为函数的原型对象加入方法或是属性new MyCompany.UI.UpdatePropertyAction(p1,p2,doaction1,dodaction2);新建一个对象其实跟下面的语句是一样的var UpdatePropertyAction =function(Name, Type, onComplete, onError){
.......
}UpdatePropertyAction.prototype={
    initialize:function(mapControl){
    }}var temp = new UpdatePropertyAction(p1,p2,doaction1,dodaction2);只是把他放在一个模块MyCompany.UI下,以避免定义全局变量,避免和其他模块造成冲突

解决方案 »

  1.   

    好像有点明白了
    那请问一下:
    UpdatePropertyAction.prototype={ 
        initialize:function(mapControl){ 
        } } 
    是什么意思呢?
    prototype 代表的是什么?哪里有定义的呢?
    initialize:function(mapControl){
    }
    是不是指的是 function initalize(mapControl){}
    ?
      

  2.   

    prototype 是每个function对象都有的一个东东,在定义一个 function的时候就自动定义的,你看看javascript对象继承就知道了var tt={
      key: value;
    }
    是对象直接量,作用类似于:this.key = value;nitialize:function(mapControl)就是this.nitialize = function initalize(mapControl){} ;function initalize(mapControl){}只是定义了一个函数,跟上面是不同的,不过和下面的写法效果相同function initalizeFn(mapControl){}
    this.nitialize = initalizeFn;
      

  3.   

    是的. 难以理解的就是namespace 命名空间. prototype楼主有兴趣的话可以去研究一下.顺便说一下hzrui最近很活跃啊..