[code=JScript]
function Release(status,Flag)
    {
        this.status     = status;
        this.Flag       = Flag;
    }
   var ReaseeClass = new Release("Yes","1");
var ReaseeClass1 = new Release("No","0");var aryRelase1 = Array(2);
    aryRelase1[0] = ReaseeClass ;
aryRelase1[1] = ReaseeClass1;或者
    
    var aryRelase = Array(2);
    aryRelase[0] = new Release("Yes","1");
aryRelase[1] = new Release("No","0"); for(var i=0; i<aryRelase.length; i++)
{
alert(aryRelase[i].status);
alert(aryRelase[i].Flag);
}数据Release有n个,就像我们的面向对象的实体类(list),我想把它转化成js的类的概念,我用数组的方式,但是感觉别扭,请高手指点还有我要加一个索引,想在数组中快速找到某一个实体类relase,如何写啊。js是入门状态, 谢谢了!

解决方案 »

  1.   

    LZ你用Array不是挺好的
    可以这样写
    var r1, arr = [];
    arr.push((r1 = new Release("Yes","1")));
    arr.push(new Release("No","0"));如果要找特定元素的index可以用indexOf
    var idx = arr.indexOf(r1); //如果未找到返回-1,此方法不是所有浏览器都支持(JavaScript 1.6),不过可以模拟系统Array肯定比你自己写的执行速度要快,干嘛不用呢
      

  2.   


    谢谢,JS有没有实现function Release(){}的这样一个类呢?非的把每一个Release实体付Array吗?
      

  3.   


     public class AllEntity
        {
            private Hashtable m_KeyHash = new Hashtable();        public AllEntity()
            {
                SetAllEntity("AA");
                SetAllEntity("BB");
                SetAllEntity("CC");
                SetAllEntity("DD");
            }        public Hashtable GetEachEntity
            { 
                get{ return m_KeyHash;}
            }        private void SetAllEntity(string key)
            {
                A _a = new A(key);
                m_KeyHash.Add(key, _a);
            }
        }    public class A
        {
            private string m_key    = string.Empty;
            private List<B> m_B     = new List<B>();        public A(string key)
            {
                this.m_key = key;
                SetEntity(this.m_key);
            }        public string A1
            {
                get { return m_key; }
            }        public List<B> BEntity
            {
                get { return m_B; }
            }        private void SetEntity(string key)
            {
                for (int i = 0; i < 10; i++)
                {
                    B _b      = new B();
                    _b.m_B1   = key + i;
                    _b.m_B2   = key + i;                m_B.Add(_b);
                }
            }
        }    public class B
        {
            public string m_B1;
            public string m_B2;
        }AllEntity包含了4个实体AA,BB,CC,DD,通过这4个key(AA,BB,CC,DD),能找到实体A,然后从A中遍历B的数据,我用C#的形式描述了,不知道是否清楚,希望能用JS实现我的要求,js的索引,但是不知道如何根据key(AA,BB,CC,DD)来快速找到相应的实体数据啊,如何用js的面向对象实现啊?有人明天上班吗?请指点一下?谢谢
      

  4.   

    我看到一个样例,不知是否有帮助:function List()
    {
    var m_elements= [];
    m_elements = Array.apply(m_elements, arguments);
    this.length = { valueOf:function(){return m_elements.length;},
    toString:function(){return m_elements.length;} }
    this.toString = function() {return m_elements.toString(); }
    this.add = function() {m_elements.push.apply(m_elements,arguments); }
    }
    var alist = new List(1,2,3);
    alert(alist);
    alert(alist.length);
    alist.push(4,5,6);
    alert(alist);
    alert(alist.length);
      

  5.   

    var m_elements= []; 
    m_elements = Array.apply(m_elements, arguments); 
    这应该是JS的一种继承关系的实现吧.